将您的向量数据迁移至 Qdrant
| 耗时:视情况而定 | 难度:中等 |
|---|
在向量数据库之间(尤其是跨区域、平台或部署类型)迁移数据可能是一项繁琐的工作。而 Qdrant 迁移工具正是为此而生。它支持广泛的迁移需求,包括在不同 Qdrant 实例之间传输数据,以及从其他向量数据库供应商迁移至 Qdrant。
您可以在任何能够连接源数据库和目标 Qdrant 数据库的机器上运行该迁移工具。不需要两台数据库之间具备直接连接。为了获得最佳性能,建议您在与两个数据库网络延迟最低、连接速度最快的机器上运行该工具。
在本教程中,我们将学习如何使用此迁移工具,并演示从其他向量数据库迁移至 Qdrant 的实际操作案例。
为什么要使用它而不是 Qdrant 的原生快照功能?
Qdrant 支持基于快照的备份,这是一种专为同一集群恢复或本地备份而构建的底层磁盘操作。这些快照:
- 要求节点间保持快照一致性。
- 难以在不同机器或云区域之间进行移植。
相比之下,Qdrant 迁移工具:
- 以实时批处理方式流式传输数据。
- 支持恢复中断的迁移进程。
- 即使在有数据插入时也能正常工作。
- 支持集合重配置(例如,更改副本设置和量化参数)。
- 支持从其他向量数据库(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 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”部分。迁移后,请使用迁移验证指南来确认数据完整性和搜索质量。