데이터 마이그레이션

데이터 마이그레이션 (tutorials-operations-migration)

시간: 다양함 수준: 중급

벡터 데이터베이스 간에 데이터를 마이그레이션하는 일, 특히 지역이나 플랫폼, 배포 유형을 넘나들 때는 꽤 번거로울 수 있어요. 그럴 때 유용한 게 바로 Qdrant 마이그레이션 툴이에요. 이 툴은 Qdrant 인스턴스 간의 데이터 전송은 물론, 다른 벡터 데이터베이스 제공자에서 Qdrant로 마이그레이션하는 것까지 폭넓은 요구를 지원한답니다.

마이그레이션 툴은 소스와 타깃 Qdrant 데이터베이스 양쪽 모두에 연결할 수 있는 어떤 머신에서든 실행할 수 있어요. 두 데이터베이스 사이에 직접 연결이 필요하지 않아요. 최적의 성능을 위해서는 두 데이터베이스 모두에 빠른 네트워크 연결과 최소 지연 시간을 가진 머신에서 실행하는 것이 좋아요.

이 튜토리얼에서는 마이그레이션 툴을 사용하는 방법을 알아보고, 다른 벡터 데이터베이스에서 Qdrant로 마이그레이션하는 실용적인 예시를 차근차근 살펴볼게요.

Qdrant의 네이티브 스냅샷 대신 이걸 쓰는 이유

Qdrant는 스냅샷 기반 백업을 지원해요. 이는 같은 클러스터 복구나 로컬 백업을 위해 만들어진 저수준 디스크 작업이에요. 그런데 스냅샷은:

  • 노드 간 스냅샷 일관성이 필요해요.
  • 머신이나 클라우드 존을 넘어 옮기기 어려울 수 있어요.

반면 Qdrant 마이그레이션 툴은:

  • 데이터를 라이브 배치로 스트리밍해요.
  • 중단된 마이그레이션을 이어서 진행할 수 있어요.
  • 데이터가 삽입되는 중에도 동작해요.
  • 컬렉션 재구성(복제 설정, 양자화 변경 등)을 지원해요.
  • 다른 벡터 DB(Pinecone, Chroma, Weaviate 등)에서의 마이그레이션을 지원해요.

Qdrant 마이그레이션 툴 사용하기

툴은 Docker를 통해 실행할 수 있어요.

설치:

 docker pull registry.cloud.qdrant.io/library/qdrant-migration

Qdrant에서 Qdrant로 마이그레이션하는 예시는 다음과 같아요:

 docker run --rm -it \
 registry.cloud.qdrant.io/library/qdrant-migration qdrant \
 --source.url 'https://source-instance.cloud.qdrant.io:6334' \
 --source.api-key 'qdrant-source-key' \
 --source.collection 'benchmark' \
 --target.url 'https://target-instance.cloud.qdrant.io:6334' \
 --target.api-key 'qdrant-target-key' \
 --target.collection 'benchmark'

예시: Pinecone에서 Qdrant로 마이그레이션하기

이제 Pinecone에서 Qdrant로 마이그레이션하는 예시를 살펴볼게요. 여러분의 Pinecone 인덱스가 다음과 같다고 가정해볼게요.

Pinecone 대시보드에 인덱스 세부 정보 표시

Pinecone에서 필요한 정보는 다음과 같아요:

  • 여러분의 Pinecone API 키
  • 인덱스 이름
  • 인덱스 호스트 URL

이 정보만 있으면 다음 명령으로 벡터 데이터베이스를 Pinecone에서 Qdrant로 마이그레이션할 수 있어요:

 docker run --net = host --rm -it registry.cloud.qdrant.io/library/qdrant-migration pinecone \
 --pinecone.index-host 'https://sample-movies-efgjrye.svc.aped-4627-b74a.pinecone.io' \
 --pinecone.index-name 'sample-movies' \
 --pinecone.api-key 'pcsk_7Dh5MW_…' \
 --qdrant.url 'https://5f1a5c6c-7d47-45c3-8d47-d7389b1fad66.eu-west-1-0.aws.cloud.qdrant.io:6334' \
 --qdrant.api-key 'eyJhbGciOiJIUzI1NiIsInR5c…' \
 --qdrant.collection 'sample-movies' \
 --migration.batch-size 64

마이그레이션이 완료되면 Qdrant에 모든 벡터가 담긴 새 컬렉션이 생긴 걸 확인할 수 있어요.

결론

Qdrant 마이그레이션 툴은 벡터 데이터베이스 인스턴스 간의 데이터 전송을 손쉽게 만들어줘요. 클라우드 지역 사이를 이동하든, 셀프 호스팅에서 Qdrant Cloud로 업그레이드하든, Pinecone 같은 다른 데이터베이스에서 전환하든, 이 툴은 몇 시간의 수작업을 아껴준답니다. 지금 바로 사용해보세요.

제공자별 상세 마이그레이션 가이드(Pinecone, Weaviate, Milvus, Elasticsearch, pgvector)는 Qdrant로 마이그레이션 섹션을 참고하세요. 마이그레이션 후에는 마이그레이션 검증 가이드를 사용해 데이터 무결성과 검색 품질을 확인하세요.

더 알아보기 (Learn more)

출처: Qdrant 공식문서