注册
DMHS同步原理
专栏/技术分享/ 文章详情 /

DMHS同步原理

Arno 2025/11/07 364 0 0
摘要

DMHS同步原理
一.DMHS介绍
达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影响,能以极少的系统开销实现秒级数据实时同步复制。
DMHS 基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。
二.DMHS角色
1源端:
数据同步的起点,即数据来源数据库。源端负责捕获数据库的变化(增、删、改)。
2目的端:
数据同步的终点,即数据目标数据库。目的端负责接收并执行源端发送过来的数据变化。
三.DMHS核心进程
1捕获器:
运行在源端。像“侦探”一样,持续监控数据库的在线重做日志或归档日志,实时解析出 DML/DDL 操作,并将其封装成逻辑日志记录。
2发送器:
运行在源端。从捕获器获取逻辑日志,通过网络打包发送给目的端的接收器。
3接收器:
运行在目的端。接收来自源端发送器的数据,并暂存到本地日志文件中(.rec 文件)。
4执行器:
运行在目的端。从接收器暂存的日志文件中读取数据,并将其在目的端数据库上执行(Apply),从而保持两端数据一致。
四.同步流程
源端数据库->源端捕获器->源端发送器->网络->目的端接收器->目的端执行器->目的端数据库
五.DMHS特点
1.高通用性
跨平台软硬件支持:面对日趋复杂的计算机环境具有极好的适应性。
2.灵活可配置
体系结构高可扩展:开放式的体系结构可以实现多种复制拓扑结构。
数据同步内容可定制:支持数据筛选、过滤、转换、压缩和加密。
轻量级设计实现快捷部署:能够在不中断业务的情况下,将主机数据库中的当前数据平滑地装载到备机数据库中。
3.性能良好
确保业务系统高可用:复制对主机源数据库系统几乎无影响,备机可实现业务系统快速切换和恢复。
高效的数据实时同步:采用并行处理技术实现大批量数据的实时复制。
可读写的备机系统:可以实现生产型业务与分析型业务相隔离的多业务中心。
4.传输可靠
高可靠的数据传输:严格按照主机业务系统事务顺序实施数据复制,保障备机数据库与主机数据库的事务级完整性和一致性。
六.DMHS优点
1.支持多种异构数据平台
(1)DMHS 可以支持多种异构数据平台,可以根据用户需求采用非常灵活的方式配置出各种拓扑结构。 目前,源数据库可支持 DM 各系列、Oracle9i、Oracle10g、Oracle11g、Oracle12c、ORACLE RAC 集群、DB2、PostgreSQL、MySQL 等。目的数据库支持具有 ODBC 标准接口实现的各种主流关系数据库管理系统,目前适配过的数据库有 DM 各系列、DM 集群、Oracle9i、Oracle10g、Oracle11g、Oracle12c、ORACLE RAC 集群、DB2、Sybase、SQLServer、PostgreSQL、MySQL 等。
(2)DMHS 支持多种计算机操作系统平台,支持 Windows 系列、Linux 系列、IBM AIX、HP-UNIX 系列、Solaris 系列、国产操作系统 Kylin、Rocky 等 32 位和 64 位操作系统。
(3)DMHS 支持多种复制结构,支持不同厂商硬件(主机、存储)之间数据库的数据复制。DMHS 的开放式体系结构使其能够适应各种异构数据平台。DMHS 支持一对一同步 、一对多广播型同步 、多对一聚合型同步 、双向同步、多对多同步、多级中转级联同步等多种数据同步形式,支持组合多种同步形式以搭建复杂的拓扑结构。DMHS 支持主流厂商的硬件(主机、存储)之间数据库的数据复制,例如 IBM、HP、联想、华为、浪潮、曙光等硬件厂商,兼容多种硬件体系,可运行于于 X86、SPARC、POWER 等硬件平台之上,还支持龙芯、鲲鹏、飞腾、海光、兆芯、神威等国产 CPU 硬件平台,产品实现了平台无关性。DMHS 能够在目前流行的各种软硬件平台和数据库环境下传输数据,在同一解决方案架构下,实现企业不同平台上的多个信息系统的统一复制的支持。
2.高可靠的数据复制能力
为保障数据传输内容的正确性,DMHS 对复制的数据内容做了 CRC 校验,保证收到的数据是可靠无误的,DMHS 对复制数据先后顺序也做了严格的一致性验证,保证数据复制传递过程是有序的。为保障数据传输的无丢失,DMHS 使用检查点机制实现断点续传。断点包括两个部分,即 DMHS 前置的变化数据捕捉模块数据抽取位置检查点和 DMHS 主程序的数据装载模块的已装载位置检查点。DMHS 的前置模块与主程序模块采取完备的消息应答机制来保障数据传输的可靠性和数据完整性。前置模块只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据。
DMHS 支持初次数据装载全同步功能,能够在不中断业务的情况下,将源数据库中的当前数据平滑的装载到目标数据库中。DMHS 提供快速装载方式可针对源数据库历史的大量数据做到高效快速的初始化装载到目标数据库中。DMHS 提供丰富的装载选项可满足多种场景下的需求,用户可灵活组合使用。
DMHS 的数据复制是通过分析源数据库的日志后以源端事务为单位发送给目标数据库的,源数据库日志中记录的事务是严格有序的,目标数据库严格按照源数据库上的事务顺序在目标数据库上实施数据复制同步,目标数据库上所执行的事务一定是源数据库已经提交完成的事务,DMHS 可保障目标数据库与源数据库的事务级完整性和一致性,确保目标数据库数据复制事务的业务逻辑符合源数据库上事务的业务逻辑。
3.支持数据库的所有主流类型字段
DMHS 是目前业内成熟的数据复制和数据实时同步软件,支持目前主流所有数据库的数据类型字段同步.
支持数值类型:NUMBER、NUMERIC、DECIMAL、DEC、INTEGER、INT、SMALLINT、FLOAT、REAL、DOUBLE PRECISION、BINARY_FLOAT、BINARY_DOUBLE
字符类型:CHAR、VARCHAR、NCHAR、NVARCHAR2
二进制数据类型:BINARY、VARBINARY
时间日期类型:DATE、TIME、DATETIME、INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND
大对象类型: CLOB、BLOB、NCLOB、LONG、LONG RAW等主流类型字段的同步。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服