Milvus 2.3.x에서
이 가이드는 Milvus 2.3.x에서 Milvus 2.3.x 이상으로 데이터를 마이그레이션하기 위한 포괄적인 단계별 프로세스를 제공합니다.
전제 조건
- 소프트웨어 버전:
- 소스 Milvus: 2.3.0 이상(이 도구는 반복기를 사용하여 소스 수집 데이터를 가져오므로 소스 Milvus 버전이 2.3.0 이상이어야 합니다).
- 대상 Milvus: 2.3.0 이상
- 필수 도구:
- Milvus 마이그레이션 도구. 설치에 대한 자세한 내용은 마이그레이션 도구 설치를 참조하세요.
- 데이터 준비:
- 소스 Milvus 컬렉션이 로드되어 있고 데이터를 내보낼 준비가 되어 있는지 확인합니다.
- 대상 Milvus에 소스 컬렉션에 해당하는 컬렉션이 없는 경우, milvus-migration 도구가 자동으로 해당 컬렉션을 생성합니다. 마이그레이션 후에는 대상 컬렉션이 색인되지 않으므로 나중에 수동으로 컬렉션을 색인해야 합니다.
마이그레이션 파일 구성
예제 마이그레이션 구성 파일을 migration.yaml
으로 저장하고 실제 조건에 따라 구성을 수정합니다. 구성 파일은 로컬 디렉터리에 자유롭게 저장할 수 있습니다.
dumper:
worker:
workMode: milvus2x
reader:
bufferSize: 500
meta:
mode: config
version: 2.3.0
collection: src_table_name
source:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
target:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
다음 표에서는 예제 구성 파일의 매개 변수에 대해 설명합니다. 자세한 내용은 Milvus 마이그레이션을 참조하세요 : Milvus2.x에서 Milvus2.x로 마이그레이션을 참조하세요.
dumper
파라미터 설명 dumper.worker.workMode
마이그레이션 작업의 작동 모드입니다. Milvus 2.x에서 마이그레이션하는 경우 milvus2x로 설정합니다. dumper.worker.reader.bufferSize
각 배치에서 Milvus 2.x에서 읽을 버퍼 크기입니다. meta
매개변수 설명 meta.mode
메타 파일을 읽을 위치를 지정합니다. config로 설정하면 이 migration.yaml 파일에서 메타 구성을 가져올 수 있음을 나타냅니다. meta.version
소스 Milvus 버전. 2.3.0 이상으로 설정합니다. meta.collection
소스 컬렉션 이름입니다. source
매개변수 설명 source.milvus2x.endpoint
소스 Milvus 서버의 주소입니다. source.milvus2x.username
소스 Milvus 서버의 사용자 이름입니다. 이 매개변수는 Milvus 서버에 대해 사용자 인증이 활성화된 경우 필요합니다. 자세한 내용은 인증 활성화를 참조하세요. source.milvus2x.password
소스 Milvus 서버의 비밀번호입니다. Milvus 서버에 사용자 인증이 활성화된 경우 이 파라미터가 필요합니다. 자세한 내용은 인증 활성화를 참조하십시오. target
파라미터 설명 target.milvus2x.endpoint
대상 Milvus 서버의 주소입니다. target.milvus2x.username
대상 Milvus 서버의 사용자 이름입니다. 이 매개변수는 Milvus 서버에 사용자 인증이 활성화된 경우 필요합니다. 자세한 내용은 인증 활성화를 참조하세요. target.milvus2x.password
대상 Milvus 서버의 비밀번호입니다. Milvus 서버에 사용자 인증이 활성화된 경우 이 파라미터가 필요합니다. 자세한 내용은 인증 활성화를 참조하세요.
마이그레이션 작업 시작
마이그레이션 작업을 시작하는 데는 CLI를 사용하거나 API 요청을 하는 두 가지 옵션이 있습니다. 필요에 가장 적합한 옵션을 선택하세요.
옵션 1: CLI 사용
다음 명령어로 마이그레이션 작업을 시작합니다. {YourConfigFilePath}
을 구성 파일 migration.yaml
이 있는 로컬 디렉터리로 바꿉니다.
./milvus-migration start --config=/{YourConfigFilePath}/migration.yaml
로그를 모니터링하여 진행 상황 업데이트를 확인합니다. 성공적인 마이그레이션 로그에는 다음과 같은 항목이 포함되어야 합니다:
[INFO] [migration/milvus2x_starter.go:79] ["=================>JobProcess!"] [Percent=100]
[INFO] [migration/milvus2x_starter.go:27] ["[Starter] migration Milvus2x to Milvus2x finish!!!"] [Cost=94.877717375]
[INFO] [starter/starter.go:109] ["[Starter] Migration Success!"] [Cost=94.878243583]
옵션 2: API 요청하기
Restful API를 사용하여 마이그레이션을 실행할 수도 있습니다. 다음으로 API 서버를 시작합니다:
./milvus-migration server run -p 8080
서버가 성공적으로 시작되면 프로젝트의 configs/
디렉터리에 migration.yaml
파일을 배치하고 다음을 사용하여 마이그레이션을 시작합니다:
curl -XPOST http://localhost:8080/api/v1/start
결과 확인
마이그레이션 작업이 완료되면 Attu를 사용하여 마이그레이션된 엔티티의 수를 확인합니다. 또한 Attu에서 인덱스를 생성하고 컬렉션을 로드할 수 있습니다. 자세한 내용은 Attu 및 get_collection_stats()를 참조하세요.
추가 구성 옵션
위에서 언급한 기본 구성 외에도 특정 요구 사항에 따라 추가 설정을 추가할 수도 있습니다.
선택적 필드 마이그레이션: 모든 필드가 아닌 컬렉션의 특정 필드만 마이그레이션해야 하는 경우
migration.yaml
파일의meta
섹션에서 마이그레이션할 필드를 지정하세요.meta: fields: - name: id - name: title_vector - name: reading_time
사용자 지정 대상 컬렉션: 대상 컬렉션의 속성을 사용자 지정하려면
migration.yaml
파일의meta
섹션에 관련 구성을 추가합니다.meta: milvus: collection: target_collection_name shardNum: 2 closeDynamicField: false consistencyLevel: Customized
자세한 내용은 Milvus 마이그레이션을 참조하세요 : Milvus2.x에서 Milvus2.x로 마이그레이션하기를 참조하세요.