DMHS同步原理

DMHS同步原理

一.DMHS介绍

达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影响,能以极少的系统开销实现秒级数据实时同步复制。

DMHS 基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。

二.DMHS特点及其优点

产品特点:

1.高通用性

跨平台软硬件支持:面对日趋复杂的计算机环境具有极好的适应性。

2.灵活可配置

体系结构高可扩展:开放式的体系结构可以实现多种复制拓扑结构。
数据同步内容可定制:支持数据筛选、过滤、转换、压缩和加密。
轻量级设计实现快捷部署:能够在不中断业务的情况下,将主机数据库中的当前数据平滑地装载到备机数据库中。

3.性能良好

确保业务系统高可用:复制对主机源数据库系统几乎无影响,备机可实现业务系统快速切换和恢复。
高效的数据实时同步:采用并行处理技术实现大批量数据的实时复制。
可读写的备机系统:可以实现生产型业务与分析型业务相隔离的多业务中心。

4.传输可靠

高可靠的数据传输:严格按照主机业务系统事务顺序实施数据复制,保障备机数据库与主机数据库的事务级完整性和一致性。

优点

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等主流类型字段的同步。

三.DMHS 系统组成及技术原理

技术原理如图所示
在这里插入图片描述

DMHS同步流程

源数据库端:采用并行方式对源端进行解析,以较低的资源占用实现大批量的数据实时复制。

传输网络端:TCP网络的传输、网络压缩提升速率进一步降低带宽需求

目的数据库端:DMHS可以通过事务重组、分批加载等技术加快数据装载的速度和效率,降低备机数据库系统的资源占用。
DMHS系统模块
DMHS同步服务主要分为三大模块,分别是日志分析(CPT)、数据入库(EXEC)和消息发送(NET),这三个模块统一由管理模块(MGR)进行调度执行。

CPT模块

主要作用是对源端数据库的增量数据进行抽取
日志读取线程:负责交易日志数据的读取。
日志分析线程:负责对日志逻辑单元进行解析。
消息发送线程:负责与 NET 模块进行交互。
日志文件处理线程:负责交易日志信息的处理及物理文件的处理。

NET模块

主要作用在同步中承担节点之间数据的收发任务
1.日志捕获 CPT 模块需要通过 NET 模块来发送数据。
2.ROUTE 通过 NET 模块进行消息转发。
3.TRANSFER 通过 NET 模块进行消息转发。
4.EXEC 模块则需要通过 NET 模块接收数据。

NET模块功能:
1、表操作的过滤。
2、列值转换及过滤。
3、消息的本地存储。
4、消息的本地读取。
5、消息的FTP远程读取。
6、消息的发送及接收。

EXEC模块

主要的功能是对 CPT 捕获的增量数据进行入库
EXEC模块包含以下几个辅助表:
DMHS_TRXID_TABLE:该表记录了源端事务日志中的事务入库信息。
DMHS_ERROR_TSK_TABLE:该表是出错事务登记表。
DMHS_TABLE_SEQID:该表是装载信息登记表。
DMHS_DTYPE_MAP:该表是类型映射信息表。
DMHS_ERROR_TABLE:该表记录入库出错的表。
DMHS_STATUS:DMHS各模块的统计信息表。

四.DMHS在实际工作中的具体应用场景

1.应急灾备系统

DMHS 异构同步数据复制产品可以有效满足可用性要求极高的关键性应用,协助企业以最经济的方式达到系统的高可用性容灾,保证业务的连续性, 最大限度地减少因灾难或故障所带来的损失。

2.提高资源利用率,实现多业务中心

DMHS的备机数据库系统是一套独立的可读写数据库系统。通过高可靠的数 据传输,DMHS备机数据库系统中的数据可以在业务处理逻辑上与主机生产系统完全保持一致。
DMHS 的备机数据库系统始终处于启用状态,随时可提供数据库服务。应用 系统通过简单配置,就可以使用DMHS的备机系统分担主机生产系统上的负载。 因此 DMHS可以在提高生产系统效率的同时,也可以有效的利用企业的闲置计算 资源,充分发挥其价值。

3.提供实时异构资源信息整合新方案

DMHS 集成了 DMETL、DMDTS 的技术优点,实现了轻量级的数据转换和清洗。用户在使用 DMHS 实现秒级异构同步复制的同时,通过功能强大的清洗转换规则、高可扩展的部署拓扑结构,即可获得传统 ETL的异构数据整合能力,同时,还可有效减少企业 IT 资源的投入。

4.改进数据仓库架构

通过 DMHS 的实时数据同步复制,可以在极小影响生产系统的条件下,实现生产系统数据库的实时复制。这样,数据仓库的ETL就不再需要直接从生产系统数据库中抽取所需数据,转而可以从 DMHS 的备机数据库中抽取,数据抽取的时机、数据规模都不再受到限制。因此,通过 DMHS 可以改变传统的数据仓库基础架构,提高分析数据的时效性和分析结果的有效性,实现商务智能和信息分析能力的提升,实现实时可用的数据仓库。

5.数据迁移、滚动升级

数据迁移、系统升级等生产系统所必须的维护工作往往以牺牲系统服务连续
性为代价。对于服务连续性要求非常高的信息系统,如何在不停止服务的前提下
实现数据迁移、系统升级等操作是系统开发人员、维护人员共同面临的难以解决
的问题。
通过 DMHS 即可非常简单地解决上述问题。DMHS 的变化数据捕捉不会对生产系统带来任何影响,通过DMHS完成的数据迁移可以获得接近实时的当前业务数据库的副本。
通过 DMHS 也可以在不停机的情况下,通过主机和备机联动切换,实现生产系统的平滑升级。
同时,利用 DMHS的数据复制功能,也可以产生类似于生产系统的模拟环境,直接用于应用程序的测试和开发,提高应用程序的研发效率。

更多达梦相关知识请登录社区:达梦在线服务平台

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值