从 Qdrant 迁移至 Zilliz Cloud
本文档介绍从 Qdrant 迁移时,Zilliz Cloud 如何处理数据类型映射、Payload 字段转换及 Collection 命名规则。
开始前
开始离线迁移前需满足:
Qdrant 侧要求
| 要求项 | 详细说明 | 
|---|---|
| 网络连通性 | 源 Qdrant 集群必须可通过公网访问 | 
| API 访问权限 | 需提供 Qdrant Endpoint 及具备访问权限的 API 密钥 | 
| 数据可用性 | 源 Collection 必须包含数据,空 Collection 法迁移 | 
Zilliz Cloud 侧要求
| 要求项 | 详细说明 | 
|---|---|
| 用户权限 | 需具备组织管理员或项目管理员角色 | 
| 目标集群容量 | 需预留足够 CU 容纳源数据(使用 CU 计算器预估容量) | 
| 网络连通性 | 如果有网络限制,请确保已将 Zilliz Cloud IP 加入白名单 | 
数据类型映射
下表总结了 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。 在迁移数据时,如果您希望对某些动态字段使用固定数据类型并优化索引配置,建议将动态字段转换为固定字段。 | 
Payload 字段转换规则
Zilliz Cloud 采样 100 行数据检测 Payload 数据结构,必要时可手动添加字段。
Qdrant Payload 默认映射为 Dynamic Field 以实现最大灵活性,转换为固定字段可带来:
- 
强数据类型校验:强制字段类型约束 
- 
优化查询性能:建立专用索引 
- 
结构化数据管理:统一数据规范 
| Payload 字段类型 | Zilliz Cloud 固定字段类型 | 描述 | 
|---|---|---|
| Integer | INT64 | 如果 Payload 中的字段类型为 Integer,当转换为固定字段后,该字段将变为 INT64 类型。 | 
| Float | DOUBLE | 如果 Payload 中的字段类型为 Float,当转换为固定字段后,该字段将变为 DOUBLE 类型。 | 
| Bool | BOOL | 如果 Payload 中的字段类型为 Bool,当转换为固定字段后,该字段将变为 BOOL 类型。 | 
| 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 字节且不可修改,容量计算以实际字段长度为准。 | 
Array 类型支持
| Qdrant Array 类型 | Zilliz Cloud Array 类型 | 是否支持手动添加 | 
|---|---|---|
| Array<Integer> | ARRAY<INT64> | 支持添加为新的固定字段(不能从动态字段转换)。 | 
| Array<Float> | ARRAY<DOUBLE> | 支持添加为新的固定字段(不能从动态字段转换)。 | 
| Array<Bool> | ARRAY<BOOL> | 支持添加为新的固定字段(不能从动态字段转换)。 | 
| Array<Keyword> | ARRAY<VARCHAR> | 支持添加为新的固定字段(不能从动态字段转换)。 | 
| Array<Geo> | 不支持 | Array 中的元素类型为 Geo 时暂不支持映射。 | 
| Array<Datetime> | ARRAY<VARCHAR> | 支持添加为新的固定字段(不能从动态字段转换)。 | 
| Array<UUID> | ARRAY<VARCHAR> | 支持添加为新的固定字段(不能从动态字段转换)。 | 
转换为固定字段后,可配置以下属性:
- 
Nullable:决定字段是否接受空值(默认启用),详见 Nullable 属性。 
- 
默认值:设置数据缺失时的回退值,详见默认值。 
- 
Partition Key:可将 INT64/VARCHAR 字段指定为 Partition Key(注意:每个 Collection 支持一个 Partition Key,且该字段不可为空),详见 使用 Partition Key。 
Qdrant 特殊处理规则
Collection 命名规则
Qdrant Collection 名称将按以下规则迁移至 Zilliz Cloud:
| 场景 | 影响 | 解决方案 | 
|---|---|---|
| 名称冲突 | 目标 Database 存在同名 Collection 时无法提交迁移任务 | 删除现有 Collection / 选择其他目标 Database / 迁移配置时重命名 Collection | 
| 特殊字符 | 名称按 Qdrant 原始格式保留 | 请确保名称符合 Zilliz Cloud 命名规范 |