自建 Milvus 迁移至向量数据库 VectorDB
更新时间:2025-05-06
本文主要介绍自建 Milvus 实例和向量数据库 VectorDB 实例之间的数据迁移。
前提条件
-
自建 Milvus 版本为 2.3、2.4、2.5 版本。
说明
若源端是其他云平台上的 Milvus 实例,您还需要确保该实例已开通公网访问权限。
- 若您的 Milvus 实例部署在本地,您需要将 DTS 服务器的 IP 地址添加到该实例远程连接的白名单中,以允许其访问您的实例。更多信息,请参见 添加 DTS 服务 IP 白名单。
- 已创建存储空间大于自建 Milvus 实例占用存储空间的目标 VectorDB 实例。创建方式,请参见 创建 VectorDB 实例。
限制说明
应用限制
类型 | 说明 |
---|---|
源端限制 |
|
其他限制 |
|
数据库账号权限要求
源端 Milvus 账号权限要求:
权限 | 需求说明 |
---|---|
ListDatabases | 管控侧获取schema |
DescribeDatabase | 管控侧获取schema |
DescribeCollection | 管控侧获取schema |
IndexDetail | 管控侧读取schema |
Query | 传输层读取 |
目标端 VectorDB 账号权限要求:
权限 | 需求说明 |
---|---|
SHOW_DATABASE | 管控侧:验证目标库表列 |
SHOW_TABLE | |
UPSERT |
操作步骤
- 登录 DTS 控制台。
- 点击 创建数据传输任务 进入 DTS 创建任务页面,详情参见 购买流程。
- 创建任务成功后自动返回任务列表页面,选择新创建的任务,点击 更多操作—>配置任务。
-
在配置任务页面,配置源库及目标库信息。
配置流程 类别 配置 说明 任务基本属性 任务名称 DTS 会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。 源端连接设置 IP/端口 填入源端 Milvus 的访问地址与服务端口,多个地址以英文逗号分隔。 账号 填入源端 Milvus 数据库的账号,权限要求详请参见数据库账号的权限要求。 密码 填入该数据库账号对应的密码。 目标端连接设置 实例 ID 选择目标向量数据库 VectorDB。 账号 填入目标端 VectorDB 数据库的账号。 密码 填入该数据库账号对应的密码。 -
配置完成后,点击页面下方的 授权白名单进入下一步。
如果源或目标数据库是 BCC/BBC/DCC 自建或 IDC 自建数据库或其他云数据库,则需要您手动添加对应地区 DTS 服务的 IP 地址,以允许来自 DTS 服务器的访问,操作步骤请参见 添加 DTS 服务 IP 白名单。
警告:
DTS 自动添加或您手动添加 DTS 服务的 IP 地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各 API 使用鉴权方式通信、定期检查并限制不需要的网段等等。
-
配置任务对象映射。
配置 说明 迁移类型 仅支持全量迁移。 限制传输速度 根据实际情况,选择是否对全量迁移和增量同步任务进行更细粒度的限流策略设置(设置 每秒迁移的行数 和 每秒迁移的数据量),以缓解目标库压力。详情参见:迁移限速。 重试时间 源库、目标库无法连接后自动重试,用户可根据实际情况, 调整重试时间,或者在源端和目标端的实例释放后尽快释放 DTS 实例。 传输对象 - 整个实例:将源端除系统库外的所有数据迁移到目标端。
- 手动选择:选择此选项时,在页面左侧选择需要迁移的库表,库表信息将会被自动添加到页面右侧。
- 模式匹配:详情参见:模式匹配。
-
上述配置完成后,点击页面下方的 保存并预检查。
说明
- 在迁移任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动迁移任务。
- 如果预检查失败,请查看失败检查项的提示,并根据提示修复后重新进行预检查。
-
如果预检查产生警告:
- 对于不可以忽略的检查项,请查看失败检查项的提示,并根据提示修复后重新进行预检查。
- 对于可以忽略无需修复的检查项,您可以点击 强制通过,在弹出的窗口中勾选风险确认信息并点击 确定,跳过告警检查项重新进行预检查。如果选择屏蔽告警检查项,可能会导致数据不一致等问题,给业务带来风险。
- 前置校验提示校验成功后,点击 立即开启任务。
- 迁移任务正式开始,您可以在任务列表页面查看具体进度。