达梦数据库单机部署dmhs同步复制(dm8->kafka)

本文讨论了达梦数据实时同步软件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)

    • 包含两个主要部分:tableslogs
    • 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模式
下面的操作模拟环境:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值