DMHS的技术特点如下。
(1)高可扩展性。
DMHS的开放式体系结构使其能够适应各种异构数据平台。系统安装部署简单但功能强大,可以根据用户需求采用非常灵活的方式配置各种拓扑结构,包括一对一同步、一对多广播型同步、多对一聚合型同步、双向同步、多对多同步及级联同步等多种数据同步形式,满足用户的各种复杂数据同步需求。
(2)高可用性。
DMHS采用基于日志的结构化数据同步技术,实时数据同步不依赖主机上源数据库的触发器或规则,对主机源数据库系统几乎无影响。DMHS提供业务连续性支持,备机数据库系统始终处于活动状态。在非计划性停机导致主机业务系统无法工作时,可在DMHS的备机数据库系统上及时接管业务,实现业务系统快速切换和恢复,保持业务连续性。
(3)实时同步。
DMHS采用并行处理体系,能够实时读取主机源数据库日志,以较低的资源占用实现大批量的数据实时同步。在 DMHS 源端,DMHS 采用优化的日志扫描算法实现目标数据的快速抽取。在DMHS目的端,DMHS使用数据库本地ODBC(Open Database Connectivity,开放数据库互联)接口访问备机数据库系统,同时可以通过事务重组、分批加载等技术加快数据装载的速度和提高效率,降低备机数据库系统的资源占用。在传输过程中,DMHS直接通过TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)进行网络传输,不依赖数据库自身的传递方式,通过对传输数据进行筛选和压缩,还可以进一步降低带宽需求。
(4)高可靠性。
DMHS的数据同步以源数据库的事务为单位,严格按照主机业务系统事务顺序实施数据同步,保障备机数据库与主机数据库的事务级完整性和一致性,确保备机数据库符合主机业务系统的事务逻辑。通过这种事务级粒度的数据一致性维护,使得备机数据库系统分担主机数据库系统上的业务负载成为可能。数据在传输过程中可能因为网络故障而传输中止,为保障数据传输的无丢失,DMHS使用检查点机制实现断点续传。断点包括两个部分,即DMHS前置的变化数据捕捉模块数据抽取位置检查点和DMHS主程序装载模块的已装载位置检查点。DMHS的前置模块与主程序模块采取完备的消息应答机制来保障数据传输的可靠性和完整性。前置模块只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据。
(5)备机可读写。
与仅作为后备而无法对外提供数据服务的传统备机系统不同,DMHS的备机数据库系统是一套独立的可读写数据库系统。通过高可靠的数据传输,DMHS备机数据库系统中的数据可以在业务处理逻辑上与主机系统完全保持一致。应用系统通过简单配置,就可以使用DMHS的备机系统分担主机业务系统上的负载,提高业务系统效率。同时,根据实际业务需要,通过DMHS的备机系统还可以实现生产型业务与分析型业务完全隔离的双业务中心,提高应用系统整体性能。
(6)同步内容可定制。
DMHS支持同步数据可筛选、数据过滤和基础数据转换,实现满足业务需求的按需同步,有效地降低网络通信代价和存储成本。DMHS通过用户在需要同步的表上定义过滤和转换规则来实现数据筛选及过滤。DMHS 还可以与达梦的 ETL 工具结合,利用 DMETL工具强大的数据清洗转换功能,实现更为复杂的数据处理转换需求。DMHS还支持传输数据压缩和加密,在进一步降低网络传输代价的同时,提高传输安全性,防止数据库数据在传输过程中被非法窃取。
(7)高可维护性。
DMHS模块化的框架设计,有效降低了数据实时同步的部署和运维管理的复杂性。使用XML(eXtensible Markup Language,可扩展标记语言)描述的配置文件,对DMHS的各个功能模块,如捕获器、执行器、路由器、转发器进行模块化的参数配置,配置格式及参数简单清晰,易于理解,同时DMHS提供了丰富的数据同步管理和运维监控命令,对数据同步过程中的日志捕获分析、网络发送与接收、同步执行等数十项状态进行监控管理。基于Web图形化的管理控制平台,功能丰富,能够进行同步部署、状态监控、告警通知、服务启停等运维管理操作,可对多个同步链路实现一站式的运维管理。
(8)跨平台。
DMHS的开放式体系结构使其能够适应多种异构数据平台,能够在目前流行的各种软硬件平台和数据库环境下进行部署运行,在同一解决方案架构下,实现企业对不同平台上的多个信息系统的统一复制的支持;支持多种CPU体系架构,如x86/x64、SPARC、POWER及国产龙芯、飞腾等处理器架构;支持Windows、Linux、Solaris、AIX等多种操作系统。主机源数据库支持常用关系型数据库,如DM、Oracle、DB2、MySQL、PostgreSQL、SQL Server等。备机目的数据库支持可通过ODBC接口连接的各种主流关系型数据库管理系统。