从 Qdrant 迁移至 Zilliz Cloud
Qdrant 是一款提供相似性搜索功能的向量数据库。将数据从 Qdrant 迁移到 Zilliz Cloud,用户可以在保持 Qdrant 支持的多向量结构兼容性的同时,利用 Zilliz Cloud 的高级搜索和分析功能。
迁移过程分为以下步骤:
-
连接数据源:输入您的 Qdrant 集群连接端点和 API 密钥来建立连接。
-
选择迁移源和目标集群:
-
选择一个或多个待迁移的 Qdrant Collection。
-
选择一个现有的 Zilliz Cloud 集群作为目标集群。
-
-
配置 Schema:确保 Qdrant 与 Zilliz Cloud 之间的字段类型正确映射。有关具体的数据映射规则,请参阅映射规则。
映射规则
下表总结了 Qdrant 字段类型如何映射到 Zilliz Cloud 字段类型,并对各类型做了详细说明。
Qdrant 字段类型 | Zilliz Cloud 字段类型 | 描述 |
---|---|---|
主键 | 主键 | Qdrant 中的主键会自动映射为 Zilliz Cloud 中的主键。 在数据迁移时,您可以选择启用 Auto ID 功能;但请注意,启用后源 Collection 中的原始主键值将会被舍弃。 |
稠密向量 | FLOAT_VECTOR | 稠密向量字段会直接转换为 FLOAT_VECTOR,无需进行任何修改。 |
稀疏向量 | SPARSE_FLOAT_VECTOR | 如果样本行中的稀疏向量字段不为空,则默认进行字段映射;否则,在 Schema 映射中将不会选择稀疏向量字段。 |
Payload | Dynamic field | 默认情况下,Qdrant 的 Payload 会映射为 Zilliz Cloud 中的 Dynamic Field。有关详细信息,请参阅 Dynamic Field。 在迁移数据时,如果您希望对某些动态字段使用固定数据类型并优化索引配置,建议将动态字段转换为固定字段。 |
Keyword | VARCHAR | 如果 Payload 中的字段类型为 Keyword,当转换为固定字段后,该字段将变为 VARCHAR 类型。 注意:该字段的最大长度固定为 65,535 字节且不可修改,容量计算以实际字段长度为准。 |
Geo | JSON | 如果 Payload 中的字段类型为 Geo,当转换为固定字段后,该字段将变为 JSON 类型。 |
Datetime | VARCHAR | 如果 Payload 中的字段类型为 Datetime,当转换为固定字段后,该字段将变为 VARCHAR 类型。 注意:该字段的最大长度固定为 65,535 字节且不可修改,容量计算以实际字段长度为准。 |
UUID | VARCHAR | 如果 Payload 中的字段类型为 UUID,当转换为固定字段后,该字段将变为 VARCHAR 类型。 注意:该字段的最大长度固定为 65,535 字节且不可修改,容量计算以实际字段长度为准。 |
开始前
-
源 Qdrant 集群必须能够通过公网访问。
-
如果您的网络环境配置了白名单列表,请确保将 Zilliz Cloud 的 IP 地址添加到其中。要了解更多信息,请参考 Zilliz Cloud IP。
-
已获取访问目标 Qdrant 集群所需的集群 Endpoint 和 API 密钥,并具有相应权限。
-
已在 Zilliz Cloud 中获得组织管理员或项目管理员权限。如果您没有相关权限,请联系您的 Zilliz Cloud 管理员。
从 Qdrant 迁移至 Zilliz Cloud
-
登录 Zilliz Cloud 控制台。
-
进入目标项目,选择数据迁移 > Qdrant。
-
在连接数据源步骤中,输入集群 Endpoint 和 API Key,然后点击下一步。
📘说明Database Authentication 可以指导您如何获取所需的连接信息。
-
在选择迁移来源和目标步骤中,配置源 Qdrant 集群 和 Zilliz Cloud 集群设置,点击下一步。
📘说明每个从 Qdrant 集群迁移的源 Collection 必须包含一个或多个向量字段。
-
在配置 Schema 步骤中,设置 Zilliz Cloud 与 Qdrant 之间的字段映射:
-
确认字段映射:
-
Zilliz Cloud 会自动检测并显示您的 Qdrant 字段及其对应的目标字段。有关字段映射的详细信息,请参阅映射规则。
-
请确认各 Qdrant 字段是否与相应的目标字段正确匹配。您可以根据需要重命名字段,但字段的数据类型不支持修改。
-
-
处理 Metadata 字段:
-
Qdrant Payload 字段会显示在 Metadata 部分,默认设置为动态字段。
📘说明动态字段以 JSON 格式存储元数据,使数据结构更加灵活且易于扩展。详情请参阅 Dynamic Field。
固定字段在您的 Schema 中有明确的预定义结构,可用于指定特定的数据类型和索引配置。
-
若要将 Payload 字段转换为固定字段,请选择该字段并点击转换为固定字段图标。请注意,Zilliz Cloud 仅采样 100 行数据以提取 Payload 中的字段;如需添加更多字段,请点击设置图标。
-
对于转换为固定字段的 Payload 字段,请配置以下属性:
-
支持 Null 值: 决定该字段是否可以包含 null 值,此功能默认启用。详情请参阅 Nullable 和默认值。
-
默认值: 为该字段指定一个默认值。详情请参阅 Nullable 和默认值。
-
Partition key: 可选择将 INT64 或 VARCHAR 字段指定为 Partition Key。注意:每个 Collection 仅支持一个 Partition Key,并且所选字段不能包含 null 值。详情请参阅使用 Partition Key。
-
-
-
(可选)调整 Shard:
-
点击高级设置以配置目标 Collection 的 Shard 数量。
-
对于大约 1 亿行数据来说,通常只需一个 Shard 即可。
-
如果您的数据集超过 10 亿行,请联系我们以获取最佳 Shard 配置方案。
-
-
-
点击迁移。
查看迁移进度
生成迁移任务后,您可前往任务中心查看任务状态和进度。如果迁移任务的状态从进行中变更为成功,则代表迁移成功。
迁移后
迁移任务完成后,请注意以下事项:
-
索引创建:在从外部数据源进行迁移时,系统不会自动为向量字段创建索引。您需要手动为每个向量字段创建索引。详细信息请参阅创建 Vector Index。
-
手动 Load Collection:创建必要的向量索引后,请手动 Load Collection,使其可用于搜索和查询操作。详细信息请参阅 Load 和 Release。
完成索引创建和 Load 后,请检查目标集群中的 Collection 数量及 Entity 数是否与数据源保持一致。如果发现不符,请删除 Collection 并重新进行迁移任务。
取消迁移任务
如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:
-
在任务中心页面,取消失败的迁移任务。
-
在操作列点击查看详情以访问日志信息。