You need to enable JavaScript to run this app.
文档中心
数据库传输服务

数据库传输服务

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