注册
Dmdrs的理论原理介绍
技术分享/ 文章详情 /

Dmdrs的理论原理介绍

9999 2026/03/20 286 0 0

1. Dmdrs的软件介绍

DMDRS:简称达梦数据复制软件。它是企业级产品,需要授权,曾用名DMHS,现统一叫DMDRS,适用与RTO/RPO要求严格的场景,支持异构,同构数据库的数据迁移。

提供在线数据迁移、断点重传,数据同步、数据订阅、数据分发等功能。适应海量数据规模实时复制,具备高性能,低延迟和高可用的数据复制能力。

DMDRS支持多种数据源:达梦,oracle,mysql,pg,sql server,DB2和达梦新云缓存数据库。目标数据库也支持上述类型。同时也支持kalka的数据复制。

DMDRS支持全量和增量动态实时同步。优点是:对源库不侵入,不需要源库停机,通过读取redo日志来实现,不像DMDTS需要在源端建立临时表和触发器这些临时辅助手段。

适用的场景有灾备,双活,支持1v1,双向,主备等拓扑,不像DMDTS适用静态的传输,1v1迁移。DTS迁移的数据量一般不超过超过5T。

2. Dmdrs的架构解析

DMDRS采用模块快的框架设计,内部通过设置不同的模块,来实现数据复制服务。DMDRS总体架构主要包括:manager模块、CPT模块、DSS模块、DSSA 模块、CVT 模块以及EXEC模块等。各模块的功能如下:
Manager模块:主要负责模块的管理
CPT模块:主要是日志的捕获解析;还有CVT数据的转换,数据装载,消息投递和添加字典等功能。
DSS模块:流式存储引擎模块。
DSSA模块:在DSS模块的基础上实现数据订阅功能的模块,比如主题消息,事务分类等。
CVT 模块:数据实时转换模块。
EXEC 模块:数据复制执行模块;像数据的装载分组,等待/执行分组,检查点功能,数据类型的转换和数据转换等功能。

3. Dmdrs的复制的原理

DMDRS的复制原理就是基于日志非侵入的捕获,其中CPT模块直接读取源数据库的在线重做日志REDO(如oracle online redo,mysql binlog),exec模块负责接收cpt模块的数据,在目标端进行应用,源端无需建临时表,触发器等额外的对象。对源库的影响很小,可以实现秒级数据增量同步。

多线程并行实时捕获增量操作,DMDTS在数据抽取时候一次最多使用16个并行线程,源数据库不需要停机。可以动态添加表数据对象,实现数据迁移和数据同步。

同时Dmdrs支持数据库名,模式名,表空间名,对象名映射配置,如果映射的对象类型不符合要求,DTS支持映射对象的自定义修改。

4. Dmdrs的搭建实施

由于甲方没有购买授权,drs软件安装包暂时无,本次搭建省略。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服