首页 > 其他分享 >DMHS与DMETL的对比

DMHS与DMETL的对比

时间:2022-09-23 02:55:04浏览次数:45  
标签:同步 DMHS 模块 日志 DMETL 数据 对比


达梦数据实时同步软件(DMHS)是一个支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。可以通过秒级实时数据同步复制可以有效避免传统备份系统导致的无法完全满足企业对于信息系统不中断服务的问题;通过变化日志捕捉可以有效降低传统 ETL 工具因创建触发器、影子表等对业务系统带来的性能影响;通过可读写的备机数据库系统可以解决传统备机系统仅作为后备而无法对外提供数据服务的问题。

本文主要介绍DMHS 数据实时同步软件和数据对比工具的工作机制,简单比较了DMETL和DMHS。

一、数据实时同步软件
1.1 简单介绍
达梦数据实时同步软件(DMHS)是一个支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。

该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影响,能以极少的系统开销实现秒级数据实时同步复制。

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

1.2 模块说明

DMHS同步服务主要分为三大模块,分别是日志分析(CPT)、消息发送(NET)、数据入库(EXEC)。这三个模块由管理模块(MGR)统一调度执行。

日志分析(CPT)

负责对源数据库日志进行解析,联合字典信息提取其中数据的变化如插入(INSERT)、删除(DELETE)、修改(UPDATE)和对象操作(DDL),这些操作通过包装后投递给信息发送(NET)模块。

CPT分析日志时,需要从数据库中查询表的字典信息以及日志文件发生切换时需要访问日志文件信息,也就是说,日志分析过程中CPT会和源数据库创建链接进行交互,若是同步需要支持同步DDL,那么还需要在源数据库上创建事件触发器,用来捕获DDL操作,这些配置需要在搭建同步时完成。

消息发送(NET)

NET消息发送子模块
通过CPT捕获到的日志操作,进行分发,分发前能够对操作进行过滤,或者对表进行过滤和映射,还能够对消息中的列进行映射(更名、剔除和函数计算)。通过处理的消息经过网络(TCP/IP)发送给下一级,或者保存到本地文件。

NET消息接收子模块
经过上一级NET消息发送子模块经过网络传输的消息,由NET消息接收子模块经过网络(TCP/IP)接收并发送给EXEC模块。

数据入库(EXEC)

EXEC模块接收到NET接受子模块发来的信息,把这些消息按事务分类,若是某个事务上收到了提交消息,则构造相应的SQL,使用ODBC驱动接口对这些数据进行入库;若是某个事务在源端回滚,则直接丢弃不执行,同步中若是使用了中文表明或者字段名,要使用支持中文字符集的unixODBC,否则描述会出错。

EXEC模块在运行过程中需要不断的刷新检查点,以便推动入库的LSN。为适应不一样的应用场景,DMHS提供的功能能够细分为捕获器功能、执行器功能等。

二、数据对比工具
2.1 简单介绍
DMETL提供数据对比方案,包括 VERI 对比模块,主要进行模式下对象对比,和数据对比,并且生成对比报告,AGENT 对比工具代理,主要用作数据获取,并计算行数据的 MD5,发送给对比模块。

VERI 可对数据进行进行静态对比、动态对比、二次对比和快速对比。

动态对比:对比工具与 DMHS 协同工作,保证源表与目的表都是执行完相同事务后对查询结果集进行对比。
静态对比:对比工具单独对比,没有 DMHS 的协同。
二次确认对比:在静态对比过程中,由于 DMHS 同步的时间差,第一次对比会存在不一致,因此需要针对第一次对比的结果,再次进行第二次确认对比,确定 DMHS 同步是否存在延迟或失败。
快速对比:仅仅对表进行记录行数的对比。
2.2 架构说明
系统主要分为对比代理服务和对比校验进程。

对比代理服务分源对比代理服务和目的对比代理服务。

对比代理服务的作用是从数据服务器取得数据记录,并取得数据记录的 MD5 值发送到对比校验进程进行校验。对比校验进程对数据进行比对后,直接访问源数据库服务器和目的数据库服务器,生成详细的对比报告。

对比工具代理服务(AGENT 服务)
主要用作数据获取,并计算行数据的MD5 ,发送给对比模块。

对比校验进程(VERI 进程)
主要进行模式下对象对比,数据对比,并且生成对比报告。

三、DMETL vs DMHS
DMETL 和 DMHS 两者都可以实现异构数据的整合,以及数据的清洗转换功能。

DMETL 设计重点目标是用于数据中心进行异构数据的整合,因此支持完善、复杂的数据清洗、转换规则,能够支持灵活的2次开发,但对源端的逻辑存储结构产生影响,占用资源较多。

DMHS 设计重点目标是支持异构数据库之间的秒级数据同步,是基于源库的联机日志分析捕获,不会对其逻辑存储结构产生影响,占用资源较少,效率更高,而清洗转换规则方面较ETL简单。


达梦技术社区:https://eco.dameng.com

标签:同步,DMHS,模块,日志,DMETL,数据,对比
From: https://www.cnblogs.com/-dym/p/16721410.html

相关文章

  • DMHS双向同步的搭建(DM8-DM8)
    数据同步工具(DMHS),可实现同构、异构数据库间的数据同步,基于此工具,可实现在现应急灾备、多业务中心、异构资源信息整合等多种使用场景。以下是DM数据库之间实现的双向同步......
  • ==和equals的对比
    ==是一个比较运算符1、==:既可以判断基本类型(判值),又可以判断引用类型(判相等)。2、==:如果判断基本类型,判断的是值是否相等。3、==:如果判断引用类型,判断的是地址是否相等,既......
  • 四、react-redux(demo可对比redux)
    react-redux调用关系: react-reducdemo1.安装插件:npminstall--savereact-redux2.创建项目:项目模板:https://www.cnblogs.com/lixiuming521125/p/16698004.html......
  • react useMemo、useEffect和 useCallback区别及与 vue 对比
    reactuseMemo和useEffect和useCallbackuseEffecteffect只能在DOM更新后触发useMemo传入useMemo的函数会在渲染期间执行,即在DOM更新前触发的,就像官方所说的,类比......
  • vue3 watch和 watchEffect对比
    watch和watchEffectwatchwatch显式指定依赖数据,依赖数据更新时执行回调函数具有一定的惰性(lazy),第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置i......
  • 对比学习
    TableofContents路线1:记忆库在实例级构建,实例级更新,损失函数在实例级计算路线2:记忆库在类级构建,实例级更新,损失函数在类级计算路线3:记忆库在类级构建,类级更新,......
  • Map底层实现、Map-Object性能对比
    Map底层实现、Map-Object性能对比Map是一个键值对的集合,和Object类似。Map做为构造函数,可以通过全局对象获取到。需要通过new操作创建实例对象,直接调用会报错。M......
  • 对比两个文件夹下的文件差异
    1、分别打印两个目录的结构TREED:\1/A/F>1.TXTTREED:\2/A/F>2.TXT2、然后使用工具/命令进行比较工具如常见的BC、在线工具https://www.diffchecker.com/......
  • Protobuf 和 Thrift对比(转)
    转自:Protobuf和Thrift对比Protobuf和Thrift简介googleprotobuf ProtocolbuffersareGoogle’slanguage-neutral,platform-neutral,extensiblemechanismfo......
  • ArcGIS Pro 如何调节栅格的亮度和对比度
    一、需求说明比如目前有一副影像,如下所示,影像的亮度比较低,能否把亮度值调大?二、解决方法1.首先,我们肯定会先想到,在工具栏外观那里,调节亮度,但问题就是这里的设置是不持......