本文讨论了达梦数据实时同步软件DMHS的相关内容,包括概念总结、环境模拟及部署实现从达梦数据库到Kafka队列的同步复制。关键要点包括:
1.DMHS系统概述:
达梦公司推出的异构环境高性能数据库实时同步系统,可应用于应急、容灾等多领域,能避免传统备份问题,降低性能影响,解决主备系统局限。
2.系统组件与功能:
由源端和目标端数据库及服务组成,源端含装载、日志捕获分析等模块,目标端含执行和管理服务模块,支持秒级同步、主备同步及数据一致性。
3.环境模拟:
在[192.168.58.3](192.168.58.3)机器创建达梦数据库环境及数据,在[192.168.58.5](192.168.58.5)机器安装单机Kafka并测试。
4.部署同步:
源端检查并开启归档和逻辑日志,两端安装DMHS服务,配置dmhs.hs等文件,进行同步测试,验证数据能否从源端同步到Kafka队列。
一、概念总结
达梦数据实时同步软件 DMHS 是达梦公司推出的新一代支持异构环境的高性能、高可靠和高可扩展的数据库实时同步系统。
DMHS 的基础实现原理如下图所示:

1、这是一个描述数据从源数据库(SOURCE DB)迁移到目标数据库(TARGET DB)的过程。以下是详细解析:
1.1、源端数据库(SOURCE DB):
-
- 包含两个主要部分:
tables和logs。 tables表示数据库中的表结构和数据。logs表示数据库的操作日志。
- 包含两个主要部分:
1.2、加载(LOAD):
-
- 步骤①:源数据库的表数据被加载到一个临时存储区域或缓冲区中,准备进行传输。
1.3、变更数据捕获(CPT):
-
- 步骤③:源数据库的日志信息通过变更数据捕获(CPT)处理,提取出需要同步的数据变更信息。
1.4、管理器(MGR):
-
- 步骤②和步骤④:管理和协调数据的传输过程。它接收来自LOAD和CPT的数据,并通过网络发送给目标端的管理器。
1.5、网络传输:
-
- 数据通过网络从源端的管理器传输到目标端的管理器。
1.6、消息操作(Message operation):
-
- 目标端接收到数据后,进行消息操作,将数据分配给多个线程(Thread 1, Thread 2, ..., Thread n)进行并行处理。
1.7、执行(EXEC):
-
- 各个线程处理完数据后,将结果写入目标数据库(TARGET DB)。
整个流程是一个典型的数据库迁移或同步过程,涉及数据加载、变更数据捕获、网络传输、多线程处理和最终写入目标数据库等步骤。
DMHS 的组成原理框图中包含源端数据库、目标端数据库、源端 DMHS 服务以及目标端 DMHS 服务,
源端 DMHS 服务主要由装载模块(LOAD)、日志捕获分析模块(CPT)以及管理服务模块(MGR)组成;
目标端 DMHS 服务则由执行模块(EXEC)和管理服务模块 (MGR)组成。
在源端,DMHS 的 CPT 模块采用优化的日志扫描算法实现增量日志数据的快速捕获分析,并将分析完成后的日志数据转换为内部的消息格式,然后通过网络将消息发送至目标端DMHS 服务;
在目标端, DMHS 服务接收到源端的日志消息后,对消息进行处理,通过多线程并行执行的方式将同步数据应用至目标端数据库,实现数据实时同步。
2、系统概述与组件描述
1. 系统概述与组件
- DMHS 是高性能、高可靠性的数据库实时同步系统。
- 系统组件包括:
-
- MGR(管理模块):启动框架,负责加载和启动其他模块。
- CPT(捕获模块):捕获源数据库的增量日志。
- LOAD(装载模块):负责数据的初始装载和离线字典管理。
- NET(传输模块):负责数据传输,包括发送和接收子模块。
- EXEC(执行模块):在目标端执行数据入库。
2. 关键概念
- 同步:DMHS 支持秒级实时数据同步。
- 主备同步:支持双活数据库,实现业务连续性。
- 数据一致性:确保事务级的数据完整性和一致性。
3. 配置与管理
- 配置文件使用 XML 格式,详细定义了各模块的参数。
- MGR 模块配置包括站点号、管理端口号等。
- CPT 模块配置涉及数据库连接信息、日志文件清理策略等。
4. 日志捕获与分析
- CPT 模块使用优化算法快速捕获和分析增量日志。
- 支持基于触发器和数据库日志的 DDL 操作捕获。
5. 数据装载
- 初始装载确保源端和目标端数据库数据一致性。
- 支持直接数据装载和备份文件装载两种方式。
6. 数据传输
- NET 模块负责数据的传输,支持 TCP/IP 网络传输和文件传输。
- 可以配置数据过滤和映射,以适应不同的同步需求。
7. 数据执行
- EXEC 模块负责在目标端执行数据入库。
- 支持多线程并行执行,提高同步效率。
8. 高级功能
- CVT 模块:提供数据清洗和转换功能。
- 复杂同步场景:支持双向同步、级联同步、环状同步等。
- ETL 支持:与达梦 ETL 工具集成,提供数据抽取、清洗、转换和装载。
9. 二次开发
- 提供 C 语言接口和数据结构,方便第三方应用程序进行二次开发。
二、环境模拟
| 操作环境:VMware Workstation Pro 17 |
||||
| 机器ip |
主机名 |
操作系统 |
资源配置 |
实例名 |
| 192.168.52.10 |
source |
kylin-v10 |
4核4G,磁盘20g |
SOURCE |
| 192.168.52.11 |
kafka |
kylin-v10 |
4核4G,磁盘20g |
|
| 机器ip |
实例名 |
达梦软件安装目录 |
数据存储目录 |
| 192.168.52.10 |
SOURCE |
/dm8/dminstall |
/dm8/data |
| 192.168.52.11 |
/ |
/dm8/dminstall |
/dm8/data |
三、安装达梦数据库并数据准备
需求:192.168.52.10机器上有一个SOURCE的数据库,数据库里面有个APP的模式,里面存放着项目的表数据,现在需要把这些表数据实时同步到192.168.52.11机器上的kafka数据库里面的APP模式。
192.168.52.10(源数据库)的SOURCE数据库中的APP模式---->>192.168.52.11(目的数据库)的kafka数据库中的APP模式
下面的操作模拟环境:

&spm=1001.2101.3001.5002&articleId=148583040&d=1&t=3&u=d233e398e364454ea709969142c3dda7)
2523

被折叠的 条评论
为什么被折叠?



