You need to enable JavaScript to run this app.
文档中心
文档数据库 MongoDB 版

文档数据库 MongoDB 版

复制全文
下载 pdf
数据迁移
火山引擎 MongoDB 迁移至火山引擎 MongoDB
复制全文
下载 pdf
火山引擎 MongoDB 迁移至火山引擎 MongoDB
本场景介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 MongoDB 迁移至火山引擎版 MongoDB 任务。​
前提条件​
  • 创建数据迁移任务之前,请确认源库和目标库的网络连通性与服务可用性。​
  • 您还可以根据预检查项中的说明,来检查源库和目标库中各迁移对象做相应准备。更多详情,请参见预检查项(MongoDB)。​
注意事项​
  • 步方向与模式​
  • 为保障数据一致性,建议选择结构初始化 + 全量初始化 + 增量同步的完整链路。​
  • 若未勾选增量同步,数据同步期间请勿在源实例中写入新数据,否则可能导致数据不一致。​
  • 数据冲突处理​
  • 在同步过程中,若目标库中已存在同主键值或唯一键的记录,DTS 不会保留目标端的冲突数据,源端数据将直接覆盖目标端数据。具体表现如下:​
  • 表结构一致时: 源端数据覆盖目标表中主键或唯一键相同的记录。​
  • 表结构不一致时: 可能导致无法初始化数据,仅同步部分列。​
  • 通过表名映射、删除或重命名目标库中同名表的方式,避免数据覆盖带来的不一致风险。​
  • DDL 操作约束​
  • 在同步过程中,若源端执行了 CREATE TABLE、RENAME TABLE 操作,请在配置阶段的同步对象中勾选该表所在的整库(或该表 RENAME 到的整库),否则新建或重命名后的表不会同步到目标端。​
  • 在预检查阶段,如果选择忽略告警并强制启动任务,可能导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(MongoDB)。​
  • 存储空间说明​
  • 全量初始化会并发执行 INSERT 操作,导致目标库的集合产生碎片。因此,全量初始化完成后,目标库的集合存储空间会大于源库,属于正常现象。​
  • 功能状态说明​
  • 云盘版 MongoDB 实例的同步功能目前处于邀测阶段。如需使用该功能,请提交工单联系技术支持进行申请。​
限制条件​
应用限制​
​
类型​
类型​
说明​
应用限制​
源库限制​
  • 仅支持单向同步,不支持双向同步。​
  • 带宽要求: 源库所属的服务器需具备足够的出口带宽,否则将影响数据同步速率。​
  • 主键或唯一约束: 待同步的集合需具备主键或唯一约束,且字段具有唯一性,否则可能导致目标库出现重复数据。​
  • 集合数量限制: 当同步对象为集合级别且需进行编辑(如集合名称映射)时,单次同步任务最多支持 1000 张集合。超出该限制时任务提交后会报错,建议拆分待同步的集合,分批配置任务。​
  • Oplog 日志要求: ​
  • 进行增量同步时,需开启 Oplog 日志,否则预检查阶段将报错且无法启动任务。​
  • 全量迁移期间,Oplog 日志建议至少保留 7 天及以上。您也可以在全量初始化完成后,再清理 DTS 源库在任务运行后产生的 Oplog 日志。如需调整 Oplog 大小,请参见 Change the Size of the Oplog。​
​
目标端限制​
  • 版本兼容性: 建议源库和目标库的 MongoDB 版本保持一致,或从低版本同步至高版本以保障兼容性。高版本同步至低版本时,可能存在兼容性问题或数据丢失风险。​
  • 不支持的库: 不支持同步 admin 和 local 库中的数据。​
  • 事务信息: 不保留事务信息,源库中的事务同步到目标库时会转变为单条记录。​
  • 性能影响: 执行数据同步前需评估源库和目标库的性能,建议在业务低峰期执行。否则全量初始化时会占用源库和目标库一定的读写资源,可能导致数据库负载上升。​
  • 存储空间: 目标 MongoDB 数据库的存储空间需大于源 MongoDB 数据库占用的存储空间。​
  • 浮点精度: DTS 通过 ROUND(COLUMN, PRECISION) 读取 FLOAT 和 DOUBLE 列的同步精度,FLOAT 默认迁移精度为 38 位,DOUBLE 默认同步精度为 308 位。如不符合业务预期,请提交工单。​
操作限制​
​
  • 结构迁移与全量迁移阶段: 请勿对源库执行库或集合的结构变更(DDL 操作),否则数据迁移任务会失败。​
  • 仅执行全量迁移时: 请勿向源库中写入新数据,否则将导致源端与目标端数据不一致。​
​
数据库最小权限策略​
用于数据迁移的账号需具备以下权限:​
  • 如果源库是分片集群类型的实例,则需要有源库的 root 权限。​
说明​
在需要进行增量迁移分片集数据时,仅当增量数据获取方式选择 ChangeStream 时,源库账号需要 Change Stream 权限。​
  • 如果源库是副本集类型的实例,则需要有以下权限。​
  • 源库待迁移对象 FIND、buildInfo、serverStatus、listDatabases 权限。​
  • 源库账号需具备待同步库、Config 库、admin 库和 local 库的读权限。​
  • 目标库账号需要具备目标库的读和写权限,以及 local 库的读权限。​
操作步骤​
  1. 登录 DTS 控制台。​
  1. 在顶部菜单栏,选择项目和地域。​
  1. 在左侧导航栏,单击数据迁移。​
  1. 在迁移任务列表页面,单击创建任务。​
  1. 在创建迁移任务页面的配置源库及目标库配置向导页面,配置以下参数信息。​
  • ​
    类别​
    参数​
    说明​
    基本信息​
    任务名称​
    (可选)自定义迁移任务名称。长度需在 256 个字符内。​
    说明​
    若未进行设置,系统将默认生成一个以 dts- 开头命名的任务。​
    ​
    链路规格​
    按需选择迁移任务的链路规格,当前支持 Compact、Medium 和 Standard。​
    说明​
    成功创建任务后,不支持修改任务的链路规格。关于链路规格的详细信息,请参见产品规格。​
    源库配置​
    选择已有数据源​
    您可以按需选择是否使用已录入的实例:​
    • 使用已录入实例:单击选择已有数据源,在选择数据源控制面板,从地域下拉列表中选择目标地域,然后选择目标数据源。支持通过数据源名称和 ID 选择数据源。关于数据源的创建方法,请参见数据源管理。​
    • 不使用已录入实例:如果不使用已录入的实例,那么您需要配置以下数据库实例信息。​
    ​
    实例类型​
    选择 MongoDB。​
    ​
    接入方式​
    选择火山引擎版 MongoDB。​
    ​
    地域​
    选择目标实例所属地域。​
    ​
    架构​
    按需选择目标 MongoDB 实例的架构类型,当前支持选择副本集和分片集群。​
    ​
    增量数据获取方式​
    在架构选择分片集群时支持设置增量数据获取方式。按需选择增量数据的获取方式,支持以下选择:​
    • ChangeStream:该获取方式提供从数据集(数据库、集合或管道)中获取特定类型已修改数据的改变事件的方法。例如插入、更新或删除事件。如果选择该获取方式,那么实例的版本需大于等于 3.6。​
    • Oplog:该获取方式表示直接获取 MongoD 操作日志。对于 MongoDB 分片集,选择该获取方式后需要填写所有分片地址。该方式相较于 ChangeStream 能提供更好的同步性能。​
    • None:选择 None 后无法选择增量迁移,只能选择全量迁移。​
    ​
    是否跨火山引擎账号​
    按需选择是否跨账号传输数据,取值如下:​
    • 本账号:选择本账号时,表示仅在本账号内实现数据传输。​
    • 跨账号:选择跨账号时,表示将实现两个账号间的数据传输。​
    说明​
    • 在进行跨账号传输数据时,您需要通过目标端所在的账号登录数据库传输服务 DTS 控制台。​
    • 如需通过跨账号实现数据传输,您还需要同时配置跨账号 ID 和跨账号角色参数信息。​
    ​
    跨账号 ID​
    输入源库所属的火山引擎账号 ID。​
    ​
    跨账号角色​
    输入已授权 DTS 访问跨账号资源的 IAM 角色。​
    ​
    MongoDB 实例​
    从下拉列表中选择目标 MongoDB 的实例。​
    说明​
    您也可以通过实例 ID 或名称搜索目标实例。​
    ​
    数据库账号​
    输入目标实例的数据库账号。​
    ​
    数据库密码​
    输入目标实例数据库账号对应的密码。​
    ​
    测试连接​
    单击测试连接,验证是否成功连接实例。 当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:​
    • 连接认证失败,请检查用户名和密码是否正确:当出现该报错提示时,您需要确认用户名和密码的准确性。​
    • 连接认证失败,无法正常创建连接,请联系客服:当出现该报错提示时,请提交工单联系技术支持。​
    目标库配置​
    选择已有数据源​
    您可以按需选择是否使用已录入的实例:​
    • 使用已录入实例:单击选择已有数据源,在选择数据源控制面板,从地域下拉列表中选择目标地域,然后选择目标数据源。支持通过数据源名称和 ID 选择数据源。关于数据源的创建方法,请参见数据源管理。​
    • 不使用已录入实例:如果不使用已录入的实例,那么您需要配置以下数据库实例信息。​
    ​
    实例类型​
    选择 MongoDB。​
    ​
    接入方式​
    选择火山引擎版 MongoDB。​
    ​
    架构​
    按需选择目标 MongoDB 实例的架构类型,当前支持选择副本集和分片集群。​
    ​
    地域​
    选择目标实例所属地域。​
    ​
    MongoDB 实例​
    从下拉列表中选择目标 MongoDB 的实例。​
    说明​
    您也可以通过实例 ID 或名称搜索目标实例。​
    ​
    数据库账号​
    输入目标实例的数据库账号。​
    ​
    数据库密码​
    输入目标实例数据库账号对应的密码。​
    ​
    测试连接​
    单击测试连接,验证是否成功连接实例。​
    当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:​
    • 连接认证失败,请检查用户名和密码是否正确:当出现该报错提示时,您需要确认用户名和密码的准确性。​
    • 连接认证失败,无法正常创建连接,请联系客服:当出现该报错提示时,请提交工单联系技术支持。​
    Project 与计费​
    项目​
    (可选)从下拉列表中选择该任务所属项目,默认在 default(默认项目) 下。您也可以单击创建新项目,创建新的项目。详细操作,请参见新建项目。​
    说明​
    • 关于如何授予子用户访问指定项目下资源的权限操作步骤,请参见修改项目权限。​
    • 成功创建任务后,如果需要修改实例的所属项目,例如将任务从当前项目移入至其他项目,您可以将资源移入指定项目。详细操作,请参见资源移入项目。​
    • 项目是一个虚拟的概念,包括一组资源、用户和角色。通过项目可以对一组资源进行统一的查看和管理,并且控制项目内用户和角色对这些资源的权限。​
    ​
    标签​
    (可选)单击添加标签,为实例添加标签,标签可帮您实现云资源的分类、云资源的访问控制、账单与成本分摊等。标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选和聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键值对规则如下:​
    • 键​
    • 支持任何语言、文字、数字、空格或符号(_.:/=+-@)。​
    • 大小写敏感,且长度在 1~128 个字符内。​
    • 使用 UTF-8 编码的 Unicode 格式。​
    • 不支持设置以 volc: 开头的任何形式的 Key,例如 Volc:、VOLC: 等。​
    • (可选)值​
    • 支持任何语言、文字、数字、空格或符号(_.:/=+-@)。​
    • 大小写敏感,且长度在 0~256 个字符内。​
    • 使用 UTF-8 编码的 Unicode 格式。​
    说明​
    • 支持模糊搜索选择已有标签键和标签值。​
    • 单次最多可给任务绑定 20 个标签。单个任务最多可绑定 50 个标签。​
    • 同一个资源拥有的标签 Key 不可重复,且一个标签 Key 只有一个值 Value。​
    ​
    计费方式​
    当前仅支持按量计费,您无需选择。​
    说明​
    关于计费的详细信息,请参见计费说明。​
    ​
  1. 单击下一步:配置迁移对象。​
  1. 在配置迁移对象配置向导页面,配置相关参数信息,如下表所示。​
说明​
  • 若暂时不需要启动迁移任务,您可以在完成迁移对象配置后,单击页面右下角的保存。​
  • 保存后会跳转回迁移任务列表页,此时任务状态为待启动,您可以在合适的时候再配置迁移任务。配置方法,请参见配置迁移任务。​
  • ​
    参数​
    说明​
    迁移类型​
    根据业务需要选择迁移类型,其中:​
    • 若仅需要全量迁移,可以同时选中结构迁移和全量迁移。​
    • 若需要进行不停机迁移,可以同时选中结构迁移、全量迁移和增量迁移。​
    说明​
    若未选中增量迁移,数据迁移期间请勿在源实例中写入新的数据,以确保数据一致性。​
    迁移对象​
    在迁移对象区域中勾选需要迁移的对象,支持通过普通搜索和全局搜索方式查询目标对象。同时,您可以在已选择对象区域中实现以下操作:​
    • 重命名库或表:单击目标库、表和视图后的笔状图标,重命名库、表和视图。如果在迁移对象区域勾选了整库,则在已选择对象区域仅支持修改库名,且不支持展开该数据库。单击批量映射,可以批量修改库或表名,更多信息请参见库表批量映射。​
    • 筛选删除不需要的目标:在已选择对象区域的搜索框内支持模糊搜索,批量删除不需要的数据库、表等目标。​
    错误重试时间​
    在迁移任务中,当源库和目标库断连后导致迁移任务失败时,会立即在指定时间内多次重试连接源库和目标库。取值范围:600~86400,单位:秒(s)。默认值为 600 秒。​
    全量迁移速率​
    按需设置全量迁移速率。防止在迁移速率过高时,影响源库的性能,您可以根据源库和目标库的读写压力情况适当调整以下参数:​
    • 每秒迁移的行数:按需开启并设置每秒迁移的行数。默认值 100000,取值范围 1~100000。​
    • 每秒迁移的数据量:按需开启并设置每秒迁移的数据量。默认值 25000,取值范围 1~100000,单位 KB。​
    • 迁移任务并发数:按需设置迁移任务的并发数。默认值 8,取值范围 1~64。​
    说明​
    • 在迁移类型选择全量迁移时,支持配置该参数。​
    • 当迁移速率过高时,可能会影响源库性能,请根据源和目标库的读写压力情况适当调整。详细操作,请参见 MongoDB 迁移速率设置。​
    ​
  1. 单击数据校验配置。​
  1. 在创建迁移任务页面的配置数据校验配置向导页面,配置以下参数信息。​
  • ​
    参数​
    说明​
    数据校验​
    ​
    选择是否在创建迁移任务时直接配置(内置)数据校验功能。​
    • 开启:(默认)在创建数据迁移任务中直接配置数据校验任务。​
    • 关闭:不在创建数据迁移任务中配置数据校验任务。​
    校验类型​
    DTS 根据数据库类型和迁移类型,自动生成校验类型,且不支持修改。关于校验类型的更多信息,请参见背景信息。​
    校验对象​
    按需选择需要校验的对象。​
    • 与迁移任务保持一致:需要校验的对象与待迁移的对象一致,即校验所有的迁移对象。​
    • 自定义:按需选择需要校验的对象。​
    启动设置​
    配置在迁移任务中数据校验的校验时机。​
    • 自动启动:数据校验任务随迁移任务的进度,自动启动数据校验。当全量迁移(如有)完成,并且增量迁移的延迟时间为 0 时,自动启动数据校验任务。​
    • 手动启动:数据校验任务不会随迁移任务的进度,自动启动数据校验;需要您在合适的时机手动开启数据校验任务。建议您在全量迁移(如有)完成,并且增量迁移的延迟时间为 0 时,再手动启动数据校验任务,否则数据校验结果可能不准确。​
    计费类型​
    目前仅支持按量计费,且不可修改。​
    ​
  1. 单击预检查。​
  1. (可选)当创建的任务已有预检查时,您可以根据以下提示确认是否重新发起预检查,当需要重新发起预检查时,请在是否重新发起预检查对话框,单击确定。​
  • 若源端和目标端的数据库实例未做修改,则无需再次发起预检查。​
  • 如果修改了源端、目标端的数据库实例信息或迁移任务的参数配置,那么建议您重新发起预检查,否则可能会导致任务启动失败或者任务中断。​
  1. 在预检查配置向导页面,根据检查结果执行以下操作:​
  • 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。​
  • 单击操作列的忽略,忽略本次告警继续启动迁移任务。同时,也可以单击忽略全部,一键忽略全部告警信息。​
说明​
  • 选择忽略告警并启动迁移任务,可能导致数据不一致,带来业务风险。​
  • 关于预检查的具体说明,请参见预检查项。​
  1. 在预检查页面右下角,单击确认订单。​
  1. 在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后执行以下操作。​
  • 单击创建并启动任务,成功创建数据迁移任务后,将立即启动数据迁移。​
  • 单击创建任务,成功创建数据迁移任务后,需要您在合适的时机手动启动数据迁移。​
成功创建数据迁移任务后,您可以返回数据库传输服务 DTS 控制台,在数据迁移任务列表查看数据迁移任务的信息。更多信息,请参见查看迁移任务。​
相关 API​
​
API​
描述​
调用 CreateTransmissionTask 接口创建数据库传输服务任务。​
调用 ModifyTransmissionTask 接口修改传输任务。​
​
​
​
​
最近更新时间:2026.10.14 14:55:55
这个页面对您有帮助吗?
有用
有用
无用
无用