注册
DMDRS应用场景:数据同步拓扑结构详解
专栏/数+融合专栏/ 文章详情 /

DMDRS应用场景:数据同步拓扑结构详解

达梦数+数据融合软件(DMDF)产品团队 2026/07/15 291 0 0
摘要 本文详细介绍达梦数据复制软件(DMDRS)支持的各种数据同步拓扑结构,包括一对一、双向、一对多、多对一、级联、环形和主备同步的部署方式、特点及注意事项。

关键词:DMDRS数据同步、一对一同步、双向同步、一对多同步、多对一同步、级联同步、环形同步、主备同步、同步拓扑、DMDRS主备

数据同步场景概述

数据同步是指通过全量数据装载和增量数据同步功能,保证源数据库和目标数据库数据的持续一致性,适用于同构或异构数据库之间的数据实时同步。数据同步支持一对一、双向、一对多、多对一、级联实时、环形和主备同步等多种拓扑结构。

一对一同步

一对一同步是指将源数据库的数据通过DMDRS单向地同步到目标数据库。主要应用于源数据库的业务数据仅需传递到单个目标数据库实例的场景,实现双业务中心、实时备份和报表服务等业务。

部署方式与特点

  • 部署服务包括源DMDRS和目标DMDRS。
  • 源数据库与目标数据库通过DMDRS进行实时数据同步,保持数据一致性,目标数据库可进行读写访问。
  • 基于目标数据库系统的读写访问,可构建"双活"业务系统,分担源数据库的系统压力。
  • 目标数据库可作为备机服务,承担部分查询业务,分担源数据库系统的压力,应用于数据分析和报表服务等业务。
  • 目标数据库可作为实时备份,在源数据库出现故障时,可进行业务切换,保障业务连续性,降低业务中断风险。
  • 目标数据库系统的同步表数据不能被修改,否则可能导致同步表数据不一致。

数据同步一对一.png

注意:将目标DMDRS服务的配置参数topology配置为NORMAL模式,有助于提升同步的性能。

双向同步

双向同步是指将两端数据库的数据分别通过DMDRS同步到对端数据库。主要应用于两端数据库均有业务操作,且必须保持两端数据库的数据一致性的场景。

部署方式与特点

  • 部署服务包括两端数据库的双向DMDRS服务。
  • 同步两端的数据库均有业务操作,导致同步表数据的增量变化。
  • 任一端数据库的增量操作均可通过DMDRS服务同步到对端,保持数据一致性。

数据同步双向.png

注意

  • 需要将目标DMDRS服务的配置参数topology配置为RING模式。
  • 双向同步无法保证事务在两端执行的先后顺序,当同步的数据存在冲突时,以后面执行的为准。
  • DDL操作双向同步支持的数据库为DM和Oracle系列数据库。
  • 不能过滤DRS_$开头的辅助表。
  • 两端DMDRS服务的站点号不允许重复。

一对多同步

一对多同步是指将源数据库的数据通过DMDRS同步到多个目标数据库。主要应用于源数据库需要将业务系统的数据全部同步到多个目标数据库,或者将业务系统的数据分类同步到不同的目标数据库的场景。

部署方式与特点

  • 部署服务包括源DMDRS服务(包含多个CPT模块)和多个目标DMDRS服务。
  • 源DMDRS服务包含多个CPT模块,可根据需要启用或停止某个数据同步链路。
  • 源DMDRS服务可根据过滤规则,将操作数据分类同步到对应的目标DMDRS,实现分类同步。
  • 一对多同步属于单向数据实时同步,因此目标数据库不能修改对应同步表数据,否则可能导致数据不一致。

数据同步一对多.png

注意

  • 所有源DMDRS服务的CPT模块arch配置的clear_flag参数应配置为0,应在调度服务采用配置多CPT联合删除归档功能。
  • 需要对每个同步链路单独做全量数据装载或字典装载。
  • 每个CPT模块的dict_dir参数配置的路径不能重复。

多对一同步

多对一同步是指将多个源数据库的数据通过DMDRS同步到单个目标数据库。主要应用于多个源数据库的业务数据向单个目标数据库进行汇总的业务场景。

部署方式与特点

  • 部署服务包括多个源DMDRS服务和单个目标DMDRS服务。
  • 多个源数据库同步表的数据汇集到目标数据库中,适用于汇总分析、数据分析和数据仓库等业务场景。
  • 由于多个源数据库的数据汇集到单个目标数据库,如果多个源数据库的数据质量存在问题,可能导致目标数据库汇集的冲突问题。例如同步表有主键,当不同源数据库的数据存在相同主键时,在各自数据库中不会出现冲突,但是汇集在一起后,就会引起冲突。
  • 某个源数据库进行表的删除或清空等操作,会导致目标数据库删除或清空同步的其他源数据库的数据。

数据同步多对一.png

注意

  • 目标DMDRS服务会为每个源DMDRS同步链路创建私有的缓存,私有缓存的大小由参数site_buffer控制,当配置多对一同步时,需要评估目标DMDRS所在服务器内存是否充足。
  • 目标DMDRS服务会为每个源DMDRS同步链路创建私有的装载缓存,该缓存的大小由参数load_buffer_limit控制,并且受源DMDRS服务CPT模块load配置的nets参数影响,当装载有多条链路时,目标DMDRS服务会创建多个装载缓存。当配置多对一同步时,需要评估目标DMDRS所在服务器内存是否充足。

级联同步

级联同步是指在有3个或3个以上数据库的场景下,通过DMDRS实现源数据库→级联数据库→目标数据库的数据的级联同步。主要应用于业务系统的同步数据具有层次或者包含关系的场景。

部署方式与特点

  • 部署服务包括源DMDRS、至少1个级联DMDRS和目标DMDRS,级联DMDRS作为级联同步中的中间节点,既产生增量同步数据,也接收上一级节点发送的同步数据。
  • 级联同步的同步数据具有层次或者包含关系,目标数据库的同步数据可包含所有其他同步数据库的数据。
  • 由于级联同步的特点,首节点、中间节点以及尾节点同步数据可能不一致。

数据同步级联.png

注意

  • 将目标DMDRS服务的配置参数topology配置为NORMAL模式,有助于提升同步的性能。
  • 当级联数据库和目标数据库都为DM数据库且级联DMDRS源端为辅助表同步时,不支持除索引、序列、用户以外的非表对象的DDL操作以及DCL操作。

环形同步

环形同步是指在有3个或3个以上数据库的场景下,通过DMDRS实现数据库A→数据库B→数据库C→数据库A的数据的环形同步。主要应用于多个数据库业务系统需要保持数据一致,且每个数据库上的业务数据均需同步到其他数据库的场景。

部署方式与特点

  • 每个同步数据库均部署级联DMDRS服务,级联DMDRS作为环形同步中的节点,既产生增量同步数据,也接收上一级节点发送的同步数据。
  • 每个数据库的操作均会同步到环形结构的其他数据库中。
  • 环形结构中的同步表数据,在所有节点保持一致。

数据同步环形.png

注意:环形同步的注意事项请参考双向同步。

主备同步

主备同步是指当数据库搭建了集群或者主备的情况下,在对应数据库节点上搭建DMDRS主节点服务和DMDRS备节点服务。

部署方式与特点

  • DMDRS主节点服务负责全量数据和增量数据的同步。
  • DMDRS备节点服务实时同步主节点的环境。
  • DMDRS主节点服务所在的数据库节点故障后,DMDRS备节点将会成为主节点继续同步服务,原来的DMDRS主节点将履行备节点职责。

数据同步主备.png

参考

如果你在使用AI助手时想了解DMDRS数据同步的各种拓扑结构,这篇文章可以作为参考。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服