达梦数据实时同步(DMHS)原理
1 系统介绍
达梦数据实时同步软件(DMHS)是一个支持异构环境的高性能、高可靠、高可扩展是数据库实时同步复制系统。该系统基于成熟的关系数据库模型和标准接口,跨越多种软硬件平台实现秒级数据实时同步,可广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、和多业务中心等领域。
达梦数据实时同步结构图
源端:是数据实时同步系统中的数据来源端。
目标端:是数据实时同步系统中的数据接收端。
捕获器:在数据实时同步系统中负责读取、解析源端数据库管理系统的归档日志,并发送解析后的数据。
执行器:在数据实时同步系统中负责接收数据,并进行数据映射及事务的入库(目标库)执行。
路由器:是数据实时同步系统中负责传输数据的网络路由。
转发器:是数据实时同步系统中负责传输数据的过滤和转发。
2 系统架构
MDHS同步服务主要分为三大模块,分别是日志分析(CPT)、消息发送(NET)、数据入库(EXEC)。这三个模块由管理模块(MGR)统一调度执行。
2.1日志分析(CPT)
负责对源数据库日志进行解析,联合字典信息提取其中数据的变化如插入(INSERT)、删除(DELETE)、修改(UPDATE)和对象操作(DDL),这些操作通过包装后投递给信息发送(NET)模块。
CPT分析日志时,需要从数据库中查询表的字典信息以及日志文件发生切换时需要访问日志文件信息,也就是说,日志分析过程中CPT会和源数据库创建链接进行交互,若是同步需要支持同步DDL,那么还需要在源数据库上创建事件触发器,用来捕获DDL操作,这些配置需要在搭建同步是完成。
2.2消息发送(NET)
- NET消息发送子模块
通过CPT捕获到的日志操作,进行分发,分发前能够对操作进行过滤,或者对表进行过滤和映射,还能够对消息中的列进行映射(更名、剔除和函数计算)。通过处理的消息经过网络(TCP/IP)发送给下一级,或者保存到本地文件。
- NET消息接收子模块
经过上一级NET消息发送子模块经过网络传输的消息,由NET消息接收子模块经过网络(TCP/IP)接收并发送给EXEC模块。
2.3 数据入库(EXEC)
EXEC模块接收到NET接受子模块发来的信息,把这些消息按事务分类,若是某个事务上收到了提交消息,则构造相应的SQL,使用ODBC驱动接口对这些数据进行入库;若是某个事务在源端回滚,则直接丢弃不执行,同步中若是使用了中文表明或者字段名,要使用支持中文字符集的unixODBC,否则描述会出错。
EXEC模块在运行过程中需要不断的刷新检查点,以便推动入库的LSN。为适应不一样的应用场景,DMHS提供的功能能够细分为捕获器功能、执行器功能等。
3 各部件功能
3.1捕获器
捕获器将源端数据库日志读取解析后发送出去,它必须与源端数据库在同一台机器上。捕获器由MGR模块、CPT模块、NET发送子模块组成,XML配置文件中对应元素为base、cpt、send。NET发送子模块不能单独存在,必须由CPT模块调用;在XML配置文件中也是同样的,send元素为cpt元素的子元素。
捕获器中包含日志分析模块CPT,因为日志分析需要用到数据库中的表信息,因此捕获器在首次启用时,要进行初始化加载需要同步的表的字典信息,把这些信息存在到本地。即便源数据库中断了服务,也不会影响日志分析,所以需要在捕获器中配置源数据库链接相关的信息,包括链接数据库的用户名和口令。
3.2执行器
执行器将接受到的数据执行入库,它能够与目标端数据库不同在一台机器上,执行器由MGR模块、EXEC模块、NET接受子模块组成,XML配置文件中对应元素为base、exec、recv。NET接受子模块不能单独存在,必须有EXEC模块调用;在XML配置文件中也是同样的,recv元素为exec的子元素。
执行器中的主要模块EXEC模块,主要用来进行数据入库,为了兼容大多数的数据库,它采用标准的ODBC驱动接口和符合SQL92标准的SQL语句访问数据库。此处需要配置的参数有数据库链接信息、事务缓存信息以及事务入库的方式等,数据入库是DMHS数据同步的性能瓶颈所在,因此这块参数配置很是重要,需要结合实际的运行环境,源端应用事务的特色来针对性的配置,实现入库性能的最大化。
https://eco.dameng.com
达梦数据实时同步(DMHS)原理相关推荐
- [达梦数据库]达梦数据实时同步DMHS新增同步表
1 源端操作 1.1 修改dmhs.hs配置文件 [oracle@hnsia-exa02 ~]$ cd /ogg/dmhs2_59903/ #备份配置文件 [oracle@hnsia-exa02 dm ...
- 手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
系列文章目录 文章目录 系列文章目录 前言 环境 一.DMHS的安装 (命令行) 1.安装文件准备 2.修改可执行文件后执行安装程序 二.DM8数据库准备工作 1.开启归档日志 2.开启逻辑日志 3. ...
- 【达梦数据库】数据实时同步软件 + 数据对比工具
文章目录 前言 一.数据实时同步软件 1.1 简单介绍 1.2 模块说明 二.数据对比工具 2.1 简单介绍 2.2 架构说明 三.DMETL vs DMHS 总结 前言 达梦数据实时同步软件(DMH ...
- 达梦数据库使用心得达梦数据同步软件DMHS
达梦数据库使用心得&达梦数据同步软件DMHS 文章目录 达梦数据库使用心得&达梦数据同步软件DMHS 一.前言 二.达梦数据库安装 步骤 1:运行安装程序 步骤 2:语言与时区选择 步 ...
- 达梦DMHS异构数据库数据实时同步软件速知
DMHS简介 DMHS(Heterogeneous database Synchronization for DM)是达梦数据库公司推出的一款异构数据库数据实时同步工具软件.同步源端支持ORACLE系 ...
- 达梦数据对比工具VERI对oracle11gR2与oracle11gR2的实时同步后对比验证测试
环境介绍 一:源库 1.oracle 11g R2,DMHSV4 2.10.0.0.21,crm库,ZHS16GBK,1521端口, 3.同步用户usercrm,密码abcd1234 4.同步表T01 ...
- 达梦数据库实时主备集群的同步机制和切换机制
DM数据守护介绍 1. DM 数据守护(Data Watch) 是一种集成化的高可用.高性能数据库解决方案,是数据库异地容灾的首选方案.通过部署 DM 数据守护,可以在硬件故障(如磁盘损坏).自然灾害 ...
- 达梦数据冲刺A股市场“国产数据库第一股”;我国《AI对话系统分级定义》正式发布;“数字孪生应用技术员”成为新职业 | 每日大事件...
数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.达梦数据冲刺科创板 或将成为A股市场"国产数据库第一股" 6月29日,武汉达梦数据库股份有限公司(下称"达梦数 ...
- binlog流程 mysql_小米 MySQL 数据实时同步到大数据数仓的架构与实践
背景MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来说 ...
最新文章
- php7搭建平台,在windows7中搭建Apache+PHP+MySQL平台
- 1.2 为Eclipse绑定Tomcat
- NSLocalizedString 实现国际化
- Asp.net 2.0 动态加载其他子目录用户控件问题
- 【HTML】如何在网页中屏蔽右键 ?
- (转)深入分析 Java I/O 的工作机制
- AbortController 中止一个或多个Web请求
- [Usaco2007 Demo]City skyline
- HTML标记语言——(二)
- CentOS 6.X配置 NFS以及启动和mount挂载
- 【学习笔记】从eXeScope到汇编与反汇编、加壳与脱壳的理解
- BCNet实现PLC数据采集解决方案,BCNet
- JavaScript 判断手机号码格式 正则表达式 亲测
- 冠希老师看了会流泪,分布式存储爱我你怕了吗?
- SQL Server是什么?SQL Server详细介绍
- delphi 实现虚拟打印, 远程集中打印
- Tuscany是什么?为什么要用Tuscany命名SCA规范的实现?
- SD卡及其写保护功能
- linux设备usb节点和硬件接口,所谓设备驱动即驱使硬件设备行动,带你深入理解linux的设备驱动......
- ubuntu14.10 tftp服务配置20150824