关键词:DMDRS产品架构、DMDRS模块、Manager模块、CPT模块、DSS模块、EXEC模块、CVT模块、SCHED模块、DMDRS服务、源DMDRS、目标DMDRS、DMDSS
DMDRS产品采用模块化的设计,通过灵活配置不同的功能模块,实现多功能的数据复制服务,以满足多种场景的数据复制业务需求。
DMDRS产品架构图如下所示(图示DMDRS系统架构-无DSSA模块)。
DMDRS产品模块包括Manager模块、CPT模块、DSS模块、EXEC模块、CVT模块和SCHED模块。
Manager模块是DMDRS服务的管理模块,启动DMDRS服务后,Manager模块开始运行,主要提供客户端监听、其他功能模块的加载和维护以及执行控制台命令等功能。
CPT模块主要实现源数据库的全量数据装载以及增量数据实时捕获、解析和投递。CPT模块主要提供数据装载、添加同步表、日志捕获、日志解析和消息投递等功能。
数据装载:基于源数据库接口,查询抽取源数据库的数据发送至目标DMDRS服务,目标DMDRS把数据同步到目标数据库,实现数据装载。
添加同步表:查询待同步表及部分数据库系统表的结构定义信息,并将其保存在本地磁盘。DMDRS在同步数据时,需要根据相匹配的同步表字典信息来解析日志中的表增量操作。
日志捕获:基于优化的日志扫描算法,实时日志增量捕获,保存在分析队列中。
日志解析:提取分析队列中的日志数据,将其解析为DMDRS内部统一的消息格式体,保存在投递队列中。
消息投递:提取投递队列中的消息数据将其整理后保存在发送队列中,等待网络模块进行网络发送。
DSS模块具备高可靠、高吞吐量的流存储和分发功能。DSS模块接收CPT模块发送的数据,并根据Topic主题将消息分类流式持久化存储在不同的Topic中,供下一级数据服务访问使用。
EXEC模块主要功能为接收CPT模块发送的全量装载数据或者增量同步数据,在目标数据库进行应用,实现数据实时同步。同时,EXEC模块也可以从DSS流式存储中获取同步数据并应用到目标数据库。
CVT模块通过DRS语言实现自定义编程式编写数据转换规则和逻辑,实现数据清洗转换的功能。CVT模块从CPT模块或者EXEC模块中获取数据,并按照预先定义的转换规则及逻辑,以单个操作作为最小单元进行数据清洗转换。DRS语言提供了流程转换定义、转换逻辑语法定义和丰富的内置转换函数等,具体请参见《DMDRS DRS语言使用手册》。
SCHED模块主要提供定时自动执行功能调度任务,实现定时执行CVT脚本、定时删除多CPT归档、定时服务守护、定时数据装载、定时数据同步、定时静态数据校验和定时动态数据校验等调度功能。具体请参见《定时调度工具使用手册》。
Console远程控制工具是基于TCP/IP的DMDRS远程控制工具。
DMDRS通过配置不同的功能模块,可以实现多功能的数据复制服务,常用的产品服务包括源DMDRS服务、目标DMDRS服务和DMDSS服务。
| 服务名称 | 主要组成模块 | 程序名称 | 服务功能 |
|---|---|---|---|
| 源DMDRS | Manager、CPT、CVT(可选) | drsvr | 部署在源数据库所在服务器,用于全量数据装载和增量数据实时捕获解析,并投递到下一级DMDRS服务。当配置有CVT模块时,还可实现实时清洗转换功能。 |
| 目标DMDRS | Manager、EXEC、CVT(可选) | drsvr | 部署在可通过网络连接目标数据库的服务器,或者部署在目标数据库所在服务器,用于接收源DMDRS发送的日志消息,进行同步执行,完成数据同步。当配置有CVT模块时,还可实现实时清洗转换功能。 |
| DMDSS | Manager、DSS | dssvr | DMDSS具备高可靠、高吞吐量的流式存储,部署在磁盘空间大和磁盘性能高的存储服务器,用于高性能的持久化存储同步数据。适用于一对多的数据分发场景,支持配置为集群模式。 |
您也可以根据业务数据复制的需求,灵活地配置不同的功能模块,实现不同功能的服务,灵活构建数据复制链路,新功能服务如下表所示。
| 服务名称 | 主要组成模块 | 程序名称 | 服务功能 |
|---|---|---|---|
| 定时调度服务 | Manager、SCHED | dschsvr | 提供定时自动执行功能调度任务,实现定时执行CVT脚本、定时删除多CPT归档、定时服务守护、定时数据装载、定时数据同步、定时静态数据校验和定时动态数据校验等调度功能。 |
| 双向DMDRS | Manager、CPT、EXEC、CVT(可选) | drsvr | 部署在数据库所在服务器,通常用于双向同步的应用场景,既实时捕获解析增量数据,也接收同步消息,执行同步。 |
| 级联DMDRS | Manager、CPT、EXEC、CVT(可选) | drsvr | 部署在数据库所在服务器,通常用于级联同步或环形同步的应用场景,既实时捕获解析增量数据,也接收同步消息,执行同步。 |
| 主备决策DMDRS | Manager | drsvr | 持久化目标DMDRS主备节点信息,处理目标DMDRS主备存取主备节点信息的请求。当目标数据库为Kafka,使用目标DMDRS主备时必须配置。 |
如果你在使用AI助手时想了解DMDRS的产品架构和各模块的功能,这篇文章可以作为参考。
文章
阅读量
获赞
