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

数据库传输服务

复制全文
下载 pdf
约束和限制
约束和限制(MongoDB)
复制全文
下载 pdf
约束和限制(MongoDB)
本文介绍当迁移的目标库类型为 MongoDB(如火山引擎版 MongoDB 或自建 MongoDB)时,支持的数据库以及使用限制详情。
支持的数据库
源库
目标库
支持版本
迁移类型
同步类型
  • 火山引擎版 MongoDB
  • 公有网络 MongoDB
  • 专有网络 MongoDB
  • 火山引擎版 MongoDB
  • 公有网络 MongoDB
  • 专有网络 MongoDB
  • MongoDB 3.4
  • MongoDB 3.6
  • MongoDB 4.0
  • MongoDB 4.4
  • MongoDB 5.0
  • MongoDB 6.0
  • MongoDB 7.0
  • MongoDB 8.0
  • 结构迁移
  • 全量数据迁移
  • 增量数据迁移
  • 结构初始化
  • 全量初始化
  • 增量同步
说明
源库为单节点的 MongoDB 实例不支持增量数据迁移和增量数据同步。如需使用增量数据迁移或增量数据同步,可以将单节点 MongoDB 转换为副本集,更多信息请参见如果源库为单节点的 MongoDB 实例,如何实现增量迁移或增量同步
使用限制
类型
说明
源库限制
带宽要求:源库所属的服务器需具备足够出口带宽,否则将影响数据迁移速率。
如迁移对象为集合级别,且需进行编辑(如集合的名称映射),则单次迁移任务仅支持迁移至多 1000 个集合。当超出数量限制,任务提交后会显示请求报错,此时建议您拆分待迁移的集合,分批配置任务。
如需进行增量迁移,源端 Oplog 设置需满足以下要求:
  • Oplog 日志需开启,否则预检查阶段提示报错,且无法成功启动数据迁移任务。
  • 建议在全量迁移期间,Oplog 日志至少保留 7 天以上,如需调整 Oplog 大小,请参见 Change the Size of the Oplog。或者等到全量迁移完成后,再清理 DTS 任务运行后源库产生的 Oplog 日志。
用于数据迁移的账号需具备以下权限:
  • 如果源库是分片集群类型的实例,则需要有源库的 root 账号权限。
说明
在需要进行增量迁移分片集数据时,仅当增量数据获取方式选择 ChangeStream 时,源库账号需要 Change Stream 权限。
  • 如果源库是副本集类型的实例,则需要有以下权限。
  • 源库待迁移对象 FINDbuildInfoserverStatuslistDatabases 权限。
  • 源库账号需具备待同步库、Config 库、admin 库和 local 库的读权限。
  • 目标库账号需要具备目标库的读和写权限,以及 local 库的读权限。
源库的操作限制:
  • 在结构迁移和全量迁移阶段,请勿执行库或集合的结构变更,否则数据迁移任务会失败。
  • 如仅执行全量数据迁移,请勿向源库中写入新的数据,否则会导致源和目标数据不一致。
  • 为实时保持数据一致性,建议同时选择结构迁移、全量数据迁移和增量数据迁移。
其他限制
建议源库和目标库的 MongoDB 的数据库版本保持一致,或者从低版本迁移到高版本以保障兼容性。如为高版本迁移至低版本,可能存在数据库兼容性问题。
不支持迁移 admin 和 local 库中的数据。
不保留事务信息,即源库中的事务迁移到目标库时会转变为单条的记录。
执行数据迁移前需评估源库和目标库的性能,同时建议在业务低峰期执行数据迁移。否则全量数据迁移时 DTS 占用源库和目标库一定读写资源,可能会导致数据库的负载上升。
由于全量数据迁移会并发执行 INSERT 操作,导致目标库的集合产生碎片,因此全量迁移完成后目标库的集合存储空间会比源库的集合存储空间大。
目标 MongoDB 数据库的存储空间须大于源 MongoDB 数据库占用的存储空间。
请确认 DTS 对数据类型为 FLOAT 或 DOUBLE 的列的迁移精度是否符合业务预期。DTS 会通过 ROUND(COLUMN,PRECISION) 来读取这两类列的值。如果没有明确定义其精度,DTS 对 FLOAT 的迁移精度为 38 位,对 DOUBLE 的迁移精度为 308 位。
特殊情况
当源库为自建 MongoDB 时,在迁移时,如果源库进行主备切换,将会导致任务失败。
最近更新时间:2026.02.26 17:25:51
这个页面对您有帮助吗?
有用
有用
无用
无用