通过 Endpoint 从 Milvus 迁移至 Zilliz Cloud
Zilliz Cloud 提供基于 Milvus 的完全托管的向量数据库解决方案,适合希望使用 Milvus 向量数据库但不想自己管理基础设施的用户。为了实现顺利的数据迁移,您可以通过以下方式将数据从 Milvus 迁移到 Zilliz Cloud:通过 Milvus 服务器地址连接到源数据库或直接上传备份文件。
本文介绍如何通过服务器地址从 Milvus 进行数据迁移。有关如何上传备份文件的信息,请参阅通过备份文件从 Milvus 迁移至 Zilliz Cloud。
开始前
-
源 Milvus 实例的版本为 2.3.6 或以上,且支持公网访问。
-
如果您的网络环境配置了白名单列表,请确保将 Zilliz Cloud 的 IP 地址添加到其中。要了解更多信息,请参考 Zilliz Cloud IP。
-
如果源 Milvus 启用了身份验证,请确保您已获得必要的连接凭证。有关详细信息,请参阅 Authenticate User Access。
-
您需要拥有组织管理员或项目管理员的角色。如果您没有相应的权限,请联系您的 Zilliz Cloud 管理员。
从 Milvus 迁移至 Zilliz Cloud
单次迁移任务支持从一个数据库中选择一个或多个 collection。
-
登录 Zilliz Cloud 控制台。
-
进入目标项目,选择数据迁移 > Milvus > 通过 Endpoint。
-
在连接至数据源步骤中,填入源 Milvus 数据库的连接地址。如果源 Milvus 已启用身份验证,请输入用户名和密码作为访问凭据。然后,单击下一步。
-
在选择迁移来源和目标步骤中,配置源 Milvus 和目标 Zilliz Cloud 集群的设置。然后,单击下一步。
-
在配置 Schema 步骤中,设置 Zilliz Cloud 与 Milvus 之间的字段映射:
-
确认主键映射:
-
源 Collection 中的主键会自动映射为目标 Collection 的主键。
-
您可以启用 Auto ID 功能以生成新的主键值;但这样操作后,源 Collection 中的原始主键值将会被舍弃。
-
-
处理标量字段:
对于标量字段,请配置以下属性:
-
支持 Null 值: 决定该字段是否可以包含 null 值,此功能默认启用。详情请参阅 Nullable 和默认值。
-
默认值: 为该字段指定一个默认值。详情请参阅 Nullable 和默认值。
-
Partition key: 可选择将 INT64 或 VARCHAR 字段指定为 Partition Key。注意:每个 Collection 仅支持一个 Partition Key,并且所选字段不能包含 null 值。详情请参阅使用 Partition Key。
-
-
启动 Dynamic Field:
-
默认情况下,Dynamic Field 处于启用状态,这允许您插入 Collection Schema 中未定义的任意标量字段。
-
如果禁用该功能,则需要在插入数据前显式定义每个 Entity 包含的所有字段。更多信息请参阅 Dynamic Field。
-
-
(可选)调整 Shard:
-
点击高级设置以配置目标 Collection 的 Shard 数量。
-
对于大约 1 亿行数据来说,通常只需一个 Shard 即可。
-
如果您的数据集超过 10 亿行,请联系我们以获取最佳 Shard 配置方案。
-
-
-
点击迁移。
查看迁移进度
生成迁移任务后,您可前往任务中心查看任务状态和进度。如果迁移任务的状态从进行中变更为成功,则代表迁移成功。
迁移后
迁移任务完成后,请注意以下事项:
-
索引创建:迁移过程中会自动为迁移的 Collection 创建 AUTOINDEX。
-
**手动 Load Collection:**虽然索引已自动创建,但迁移后的 Collection 并不会立即支持搜索或查询操作。您必须手动 Load Collection,才能启用搜索和查询功能。详细信息请参阅 Load 和 Release。
完成 Load 后,请检查目标集群中的 Collection 数量及 Entity 数是否与数据源保持一致。如果发现不符,请删除 Collection 并重新进行迁移任务。
取消迁移任务
如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:
-
在任务中心页面,取消失败的迁移任务。
-
在操作列点击查看详情以访问日志信息。