milvus-logo
LFAI
홈페이지
  • Milvus 마이그레이션

Faiss에서

이 가이드는 Faiss에서 Milvus 2.x로 데이터를 마이그레이션하는 포괄적인 단계별 프로세스를 제공합니다. 이 가이드를 따르면 Milvus 2.x의 고급 기능과 향상된 성능을 활용하여 데이터를 효율적으로 전송할 수 있습니다.

전제 조건

마이그레이션 구성

예제 마이그레이션 구성 파일을 migration.yaml 으로 저장하고 실제 조건에 따라 구성을 수정합니다. 구성 파일은 로컬 디렉터리에 자유롭게 저장할 수 있습니다.

dumper: # configs for the migration job.
  worker:
    limit: 2
    workMode: faiss    # operational mode of the migration job.
    reader:
      bufferSize: 1024
    writer:
      bufferSize: 1024
loader:
  worker:
    limit: 2
source: # configs for the source Faiss index.
  mode: local
  local:
    faissFile: ./testfiles/faiss/faiss_ivf_flat.index

target: # configs for the target Milvus collection.
  create:
    collection:
      name: test1w
      shardsNums: 2
      dim: 256
      metricType: L2

  mode: remote
  remote:
    outputDir: testfiles/output/
    cloud: aws
    endpoint: 0.0.0.0:9000
    region: ap-southeast-1
    bucket: a-bucket
    ak: minioadmin
    sk: minioadmin
    useIAM: false
    useSSL: false
    checkBucket: true
  milvus2x:
    endpoint: localhost:19530
    username: xxxxx
    password: xxxxx

다음 표에서는 예제 구성 파일의 매개변수에 대해 설명합니다. 전체 구성 목록은 Milvus 마이그레이션을 참조하세요 : Faiss에서 Milvus 2.x로 마이그레이션하기를 참조하세요.

  • dumper

    파라미터설명
    dumper.worker.limit덤퍼 스레드의 동시성입니다.
    dumper.worker.workMode마이그레이션 작업의 작동 모드입니다. Faiss 인덱스에서 마이그레이션할 때 faiss로 설정합니다.
    dumper.worker.reader.bufferSize각 배치에서 Faiss에서 읽을 버퍼 크기입니다. 단위: 단위: KB.
    dumper.worker.writer.bufferSize각 배치에서 Milvus에 쓸 버퍼 크기입니다. 단위: KB.
  • loader

    파라미터설명
    loader.worker.limit로더 스레드의 동시성입니다.
  • source

    파라미터설명
    source.mode소스 파일을 읽을 위치를 지정합니다. 유효한 값:
    - local: 로컬 디스크에서 파일을 읽습니다.
    - remote: 원격 스토리지에서 파일을 읽습니다.
    source.local.faissFile소스 파일이 있는 디렉터리 경로입니다. 예: /db/faiss.index.
  • target

    매개변수설명
    target.create.collection.nameMilvus 컬렉션의 이름입니다.
    target.create.collection.shardsNums컬렉션에 생성할 샤드 수입니다. 샤드에 대한 자세한 내용은 용어를 참조하세요.
    target.create.collection.dim벡터 필드의 차원입니다.
    target.create.collection.metricType벡터 간의 유사성을 측정하는 데 사용되는 메트릭 유형입니다. 자세한 내용은 용어를 참조하세요.
    target.mode덤프된 파일의 저장 위치. 유효한 값:
    - local: 덤프된 파일을 로컬 디스크에 저장합니다.
    - remote: 덤프된 파일을 오브젝트 스토리지에 저장합니다.
    target.remote.outputDir클라우드 스토리지 버킷의 출력 디렉토리 경로.
    target.remote.cloud클라우드 스토리지 서비스 제공업체. 예시 값: aws, gcp, azure.
    target.remote.endpointMilvus 2.x 스토리지의 엔드포인트.
    target.remote.region클라우드 스토리지 지역. 로컬 MinIO를 사용하는 경우 어떤 값이라도 가능합니다.
    target.remote.bucket데이터를 저장할 버킷 이름. 이 값은 Milvus 2.x의 구성과 동일해야 합니다. 자세한 내용은 시스템 구성을 참조하세요.
    target.remote.akMilvus 2.x 스토리지의 액세스 키입니다.
    target.remote.skMilvus 2.x 스토리지의 비밀 키입니다.
    target.remote.useIAM연결에 IAM 역할을 사용할지 여부.
    target.remote.useSSLMilvus 2.x 연결 시 SSL 활성화 여부. 자세한 내용은 전송 중 암호화를 참조하세요.
    target.remote.checkBucket지정한 버킷이 오브젝트 스토리지에 존재하는지 확인할지 여부입니다.
    target.milvus2x.endpoint대상 Milvus 서버의 주소입니다.
    target.milvus2x.usernameMilvus 2.x 서버의 사용자 이름입니다. Milvus 서버에 사용자 인증이 활성화된 경우 이 매개변수는 필수입니다. 자세한 내용은 인증 활성화를 참조하세요.
    target.milvus2x.passwordMilvus 2.x 서버의 비밀번호. Milvus 서버에 사용자 인증이 활성화된 경우 이 파라미터가 필요합니다. 자세한 내용은 인증 활성화를 참조하세요.

마이그레이션 작업 시작

  1. 다음 명령으로 마이그레이션 작업을 시작합니다. {YourConfigFilePath} 을 구성 파일 migration.yaml 이 있는 로컬 디렉토리로 바꿉니다.

    ./milvus-migration  dump  --config=/{YourConfigFilePath}/migration.yaml
    

    위의 명령은 Faiss 인덱스 데이터를 NumPy 파일로 변환한 다음 bulkInsert 작업을 사용하여 대상 버킷에 데이터를 씁니다.

  2. NumPy 파일이 생성되면 다음 명령을 사용하여 이 파일을 Milvus 2.x로 가져옵니다. {YourConfigFilePath} 을 구성 파일 migration.yaml 이 있는 로컬 디렉토리로 바꿉니다.

    ./milvus-migration  load  --config=/{YourConfigFilePath}/migration.yaml
    

결과 확인

마이그레이션 작업이 실행되면 API 호출을 수행하거나 Attu를 사용하여 마이그레이션된 엔티티 수를 확인할 수 있습니다. 자세한 내용은 Attuget_collection_stats()를 참조하세요.

번역DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?