DSGRealSync技术白皮书v3.docx
- 文档编号:3122644
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:294.13KB
DSGRealSync技术白皮书v3.docx
《DSGRealSync技术白皮书v3.docx》由会员分享,可在线阅读,更多相关《DSGRealSync技术白皮书v3.docx(13页珍藏版)》请在冰豆网上搜索。
DSGRealSync技术白皮书v3
DSGRealSync技术白皮书
迪思杰(北京)数码技术有限公司
1为什么需要数据复制
1.1信息系统存在的问题及需求
随着计算机应用系统的爆炸式发展,业务量迅速增加,业务种类日益复杂,企业必须管理不断增长的信息流量;随着信息量的急剧增大,核心数据的管理变得日益困难。
如何安全、可靠地存储业务数据及满足未来业务数据高速增长的需要;如何有效管理日益增长的业务数据;如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,如数据仓库、客户关系管理(CRM)等,成为了各企业建立信息系统的关键所在。
目前,各企业信息系统在数据管理领域存在着普遍的问题:
1.1.1数据流通效率低下,企业信息孤岛现象严重
信息系统的建设主要是以应用为驱动的,是随着各种业务的逐渐建设的。
当出现一类新的业务时,一般需要为该业务建设一套业务支撑系统,保存与该业务有关的主要数据。
而这些数据可能同时也需要被其他应用所访问。
从而自然就形成了各子系统应用在不同的纵向,管理着不同的业务单元或对象,各个子系统又是相互独立运行,导致形成了一个个“信息孤岛”。
这些系统相互之间没有畅通的信息交流与共享,阻碍了企业信息化建设的整体进程。
1.1.2数据报表、查询和数据共享效率低下
为了提高市场竞争力,提高客户满意度,企业需要更复杂的、更灵活的业务统计报告、需要深入的数据挖掘、需要实时的客户查询。
而这些大量的统计、查询业务收到现有系统架构的制约,不得不降低效率标准、不得不推迟报告时间、从而导致客户服务质量降低、业务发展情况报告迟缓,业务发展情况不明等问题。
1.2企业需要新的信息架构
因此,各企业比以往任何时候相比,管理和有效使用这些信息系统的能力高低都更能决定了长期生存和发展能力,因此比以往任何时候,企业都更关注于如下领域:
⏹提高系统运行效率,提高业务报表、提高客户服务质量,并降低客户流失率。
⏹加强企业信息流通、提高企业信息的附加值、进一步挖掘企业信息价值、迅速开发和推广新业务,创造更多收入并保持竞争能力。
⏹提高信息系统业务连续运行能力,提高数据安全保护水平。
2DSGRealSync的技术概览
2.1采用数据库复制技术
与传统的数据复制技术不同,DSGRealSync技术是针对数据库提供了基于逻辑的交易复制方式。
该方式通过直接捕获源数据库的交易,将数据库的改变逻辑复制到目标系统数据库中,实现源系统和目标系统数据的一致性。
2.2DSGRealSync的优势概览
该技术在复制上存在以下几个特点:
(1)按需复制
查询和统计系统往往不需要所有的原始数据,因此完全可以按需要复制数据。
RealSync系统支持对指定信息的按需复制,减少存储和网络带宽的成本。
(2)多种同步模式
DSGRealSync支持的数据复制模式包括:
a.实时复制:
实时更新保证副本系统快速反映源系统的变化,提供账单查询、话单查询等的及时性。
c.手工复制:
支持操作员指定时间对指定表进行一次完全复制;
(3)对生产系统的低干扰性
DSG实时数据复制技术不需要通过任何数据库的引擎来获取变更数据,而是通过数据库自身的信息获取源系统上的改变并传送给目的系统,不会对生产系统造成性能影响。
(4)系统异构,可提供更多的优化空间
源数据库系统和目的数据库系统的可异构,主要包括索引规则和存储参数(如数据块大小、回滚段等)。
因此可以在目标数据库上根据业务特点进行调整和优化,完全不受源系统的限制。
(5)支持的多种复制策略
RealSync可以被灵活配置,以支持各种复制策略,支持各种增值应用,如:
1:
1单向复制;一对多复制;多对一复制等。
3RealSync工作原理概述
如上图所示,RealSync在DataSource端和DataTarget端分别安装Agent进程,Source端的Agent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。
当应用系统在DataSource端向数据库进行任何操作时时,这些信息都将在RedoLog中保存,RealSyncAgent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成DXF数据格式,并实时通过网络传送到DataTarget系统。
DataTarget系统的RealSyncAgent接收数据库包,经过校验码检查,确认正确的数据库包后,调用Oracle函数按照交易的先后顺序在DataTarget系统中执行该交易。
4日志抓取(DataCapture)
RealSync对数据的抓取是通过安装在DataSource端的Agent模块定时分析OracleRedoLog来获取DataSource端的交易类型及数据的。
RealSyncAgent在判断DataSource端的Oracle系统是否有新的交易产生时是通过定期检查OracleControlefile中记录的当前SCN号来判断的,这样避免每次检都通过读取log文件来判断否有新的交易产生时造成的系统影响。
在Controlefile中确认有新的交易产生时,可以同时获得当前的RedoLog组,以及最新日志在日志文件的最新位置。
RealSyncAgent模块根据这些信息将上次抓取时记录的日志位置与本次读取的最新位置之间的Log读取并加以分析。
然后将这些数据保存在OnlineLogCache文件中,等待下一步作交易合成处理。
RealSync的优势:
与其他类似日志复制产品相比,RealSync对日志进行分析,得到交易信息再进行传送;而其他类似产品不对日志作分析,传送全部日志,然后在目标端通过日志作Recover,这样一来,不仅传送数据量大,而且目标端数据库不能打开。
5日志分析(Analyze)
Oracle数据库的所有更改都记录在日志中,其中记录了对数据库中的每一个变化。
当我们候需要需要了解数据库中所作的交易时,一个最有效实用而又低成本的方法就是分析Oracle数据库的日志文件。
RealSyncAgent中集成了DSG的优秀日志分析功能,该功能完全不同于oracle提供的Logminer日志分析工具,在性能和功能上都大大提高,主要体现在系统性能的优化上,大幅度提高日志分析的速度,使得对于高并发业务系统的复制成为可能。
按照RealSync的日志分析设计目标,每秒能够分析的日志量达到10M/s。
RealSync通过对日志的分析,得到该数据库中的每个SQL指令,并将这些SQL指令生成DXF(DSGExtendFormat)格式的表达方式。
DXF格式是DSG公司的专有技术,该技术是DSG公司用来表达SQL指令的方式,该数据格式能够通过DSG的专有转换算法能够直接转换为ORACL的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富能够表达的各种数据类型。
6交易合成(Synthesize)
通过ORACLEREDOLOG分析的交易指令存在如下的几个特点:
(1)这些指令是交叉出现的,属于一个交易(Transaction)的多条SQL指令是非连续存储的,多个交易的SQL之间是相互穿插的;
(2)Redolog中记录了所有的commit的交易以及没有commit的交易;
所以,为了提高系统的可控制性、保证逻辑完整性、避免数据丢失,最好将复制的最小单位为一个交易(Transaction),而不是以单个SQL指令为复制单位,这样在DataTarget端的交易装载更加容易控制。
同时,对于复制的数据而言,只有那些Commit的数据对于DataTarget端系统是有意义的,而对于那些Rollback的数据无需复制到Datatarget系统上。
所以RealSync在复制过程中不是复制每个SQL语句,而是对抓取的数据进行交易整合后以交易(Transaction)为单位进行复制,同时只复制COMMIT的交易。
如上图所示,在OnlineLogCache文件中,包括Commit的交易,没有Commit的交易和Rollback的交易。
交易合成模块首先按照交易序号对SOL语句进行划分,每个交易包含多条SOL语句。
然后,以交易为单位进行处理,将已经Commit的交易,传至传输处理模块;将未提交的交易保存在本地,一旦通过日志得知保存的未提交交易已提交,立即将该交易发送到传输处理模块;对Rollback的交易作丢弃处理。
RealSync的优势:
RealSync是以交易为单位进行传输的,而不是以SOL语句为单位进行传输的,更容易保证数据的一致性和完整性。
7交易传输
RealSync技术为了保证数据传输的安全、可靠,在传输处理上作了特殊的处理与支持:
(1)数据在传输之前首先存入DataSource端的Cache,传输进程(ExportProcess)从Cache中读取交易数据封装为TCP/IP数据包传送给Datatarget端的Import进程。
(2)在datatarget端,Import进程在收到传输的交易数据包后,首先存入Queue,然后由Load进程从Queue中严格按照交易的顺序装载交易信息。
如上图所示,负责传输的进程(ExportProcess)从本地队列中按照先进先出的原则抓取需要传输的交易,将交易数据封装成一个数据包后通过TCP/IP协议传递给对端系统。
在封装的数据包的包头部分描述了包的大小。
对端系统在接受到传来的数据包后,首先根据包头描述的包大小进行传输的合法性检查,判断是否传输完整。
8数据装载
在传统的复制技术中,常用的数据装载方式是采用Oracle的SQL接口,通过Insert、Update、Delete等SQL语句实现数据的装载。
这种方式在通用性上很好,但关键在于性能问题非常突出。
SQL语句的执行需要经过parse、plan、格式转换等过程,造成大量的系统开销。
尤其是update和Delte操作的大量Where子句操作需要进行复杂的查询定位任务,从而导致装载性能低下,对处理能力的要求比生产系统的还高。
DSGRealSync在设计之初就定位于电信级大数据量系统的应用,因此在装载性能上进行了大幅度的改善,使得装载端的性能和处理能力需求降至最低。
在其中DSGRealSync采用了两个关键的技术提高了装载速度:
(1)采用DXF数据格式的装载;
(2)采用Rowidmapping的方式实现快速定位;
8.1用DXF数据格式的装载:
DXF(DSGExtendFormat)格式是DSG公司的专有技术,该技术是DSG公司用来表达SQL指令的方式,该数据格式能够通过DSG的专有转换算法能够直接转换为ORACL的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富sql语句的表达方式。
Oracle数据库系统在设计上提供了4个层次的接口,其中包括User层,SQL层,Transformation层和I/O层。
其结构为:
在这四层当中,当采用SQL接口进行数据装载时,调用的是User层,
而DSGRealSync通过DXF数据格式装载时,调用I/O层直接将数据通过Oracle的最底层函数写入系统中,所以DSGRealSync在装载层上有一定优势;
8.2Rowmapping实现快速定位
对于交易中的操作,存在着大量的Where子句操作,在采用标准SQL语句执行这些操作时,系统需要首先定位目标记录所在的数据文件的位置信息,这将带来大量的索引查询开销,当并发执行数千条指令时,系统的开销将变得非常庞大。
DSGRealSync工具不采用该方式实现装载数据的定位,而是通过ROW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSGRealSync 技术 白皮书 v3