迁移
在向量数据库之间迁移数据,尤其是在不同区域、平台或部署类型之间,可能会很麻烦。这就是 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 等其他数据库切换,此工具都能为您节省数小时的手动工作。立即尝试。