1558107495593

搜索

近期文章

冬谎中国手机游戏下载

中央政府税

◆请告诉我BG66um68ti拉力更好的磅数。

Umee的早苗费用是多少?

[但是不缺少孝道]

近期评论文章归档

2020年一月

2019年十二月

2019年十一月

2019年十月

2019年九月

2019年七月

2019年六月

2019年五月

2019年四月

2019年三月

分类目录

365777。

com

365bet官方投注

365bet官网中文网

365bet苹果app

功能

登录

文章RSS

评论RSS

WordPress。

DSG-RealSyncMySQL数据库同步复制及容灾技术简述-syncnavigator数据库同步syncnavigator 授权码

购买事宜请联系QQ:1793040

随着计算机应用系统的爆炸式发展,业务量迅速增加,业务种类日益复杂,企业必须管理不断增长的信息流量;随着信息量的急剧增大,核心数据的管理变得日益困难。

如何安全、可靠地存储业务数据及满足未来业务数据高速增长的需要;如何有效管理日益增长的业务数据;如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,如数据仓库、客户关系管理(CRM)等,成为了各企业建立信息系统的关键所在。

目前,各企业信息系统在数据管理领域存在着普遍的问题:

信息系统的建设主要是以应用为驱动的,是随着各种业务的逐渐建设的。

当出现一类新的业务时,一般需要为该业务建设一套业务支撑系统,保存与该业务有关的主要数据。

而这些数据可能同时也需要被其他应用所访问。

从而自然就形成了各子系统应用在不同的纵向,管理着不同的业务单元或对象,各个子系统又是相互独立运行,导致形成了一个个信息孤岛。

这些系统相互之间没有畅通的信息交流与共享,阻碍了企业信息化建设的整体进程。

为了提高市场竞争力,提高客户满意度,企业需要更复杂的、更灵活的业务统计报告、需要深入的数据挖掘、需要实时的客户查询。

而这些大量的统计、查询业务收到现有系统架构的制约,不得不降低效率标准、不得不推迟报告时间、从而导致客户服务质量降低、业务发展情况报告迟缓,业务发展情况不明等问题。

因此,各企业比以往任何时候相比,管理和有效使用这些信息系统的能力高低都更能决定了长期生存和发展能力,因此比以往任何时候,企业都更关注于如下领域:

提高系统运行效率,提高业务报表、提高客户服务质量,并降低客户流失率。

加强企业信息流通、提高企业信息的附加值、进一步挖掘企业信息价值、迅速开发和推广新业务,创造更多收入并保持竞争能力。

提高信息系统业务连续运行能力,提高数据安全保护水平。

与传统的数据复制技术不同,DSGRealSync技术是针对数据库提供了基于逻辑的交易复制方式。

该方式通过直接捕获源数据库的交易,将数据库的改变逻辑复制到目标系统数据库中,实现源系统和目标系统数据的一致性。

该技术在复制上存在以下几个特点:

(1)按需复制

查询和统计系统往往不需要所有的原始数据,因此完全可以按需要复制数据。

RealSync系统支持对指定信息的按需复制,减少存储和网络带宽的成本。

(2)多种同步模式

DSGRealSync支持的数据复制模式包括:

a。

实时复制:实时更新保证副本系统快速反映源系统的变化,提供账单查询、话单查询等的及时性。

b。

定时复制:包括每月复制、每周复制和每天复制;

c。

手工复制:支持操作员指定时间对指定表进行一次完全复制;

(3)对生产系统的低干扰性

DSG实时数据复制技术不需要通过任何数据库的引擎来获取变更数据,而是通过数据库自身的信息获取源系统上的改变并传送给目的系统,不会对生产系统造成性能影响。

(4)系统异构,可提供更多的优化空间

源数据库系统和目的数据库系统的可异构,主要包括索引规则和存储参数(如数据块大小、回滚段等)。

因此可以在目标数据库上根据业务特点进行调整和优化,完全不受源系统的限制。

(5)支持的多种复制策略

RealSync可以被灵活配置,以支持各种复制策略,支持各种增值应用,如:1:1单向复制;一对多复制;多对一复制等。

如上图所示,RealSync在DataSource端和DataTarget端分别安装Agent进程,Source端的Agent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。

当应用系统在DataSource端向数据库进行任何操作时时,这些信息都将在RedoLog中保存,RealSyncAgent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成DXF数据格式,并实时通过网络传送到DataTarget系统。

DataTarget系统的RealSyncAgent接收数据库包,经过校验码检查,确认正确的数据库包后,调用Oracle函数按照交易的先后顺序在DataTarget系统中执行该交易。

RealSync对数据的抓取是通过安装在DataSource端的Agent模块定时分析OracleRedoLog来获取DataSource端的交易类型及数据的。

RealSyncAgent在判断DataSource端的Oracle系统是否有新的交易产生时是通过定期检查OracleControlefile中记录的当前SCN号来判断的,这样避免每次检都通过读取log文件来判断否有新的交易产生时造成的系统影响。

在Controlefile中确认有新的交易产生时,可以同时获得当前的RedoLog组,以及最新日志在日志文件的最新位置。

RealSyncAgent模块根据这些信息将上次抓取时记录的日志位置与本次读取的最新位置之间的Log读取并加以分析。

然后将这些数据保存在OnlineLogCache文件中,等待下一步作交易合成处理。

RealSync的优势:

与其他类似日志复制产品相比,RealSync对日志进行分析,得到交易信息再进行传送;而其他类似产品不对日志作分析,传送全部日志,然后在目标端通过日志作Recover,这样一来,不仅传送数据量大,而且目标端数据库不能打开。

Oracle数据库的所有更改都记录在日志中,其中记录了对数据库中的每一个变化。

当我们候需要需要了解数据库中所作的交易时,一个最有效实用而又低成本的方法就是分析Oracle数据库的日志文件。

RealSyncAgent中集成了DSG的优秀日志分析功能,该功能完全不同于oracle提供的Logminer日志分析工具,在性能和功能上都大大提高,主要体现在系统性能的优化上,大幅度提高日志分析的速度,使得对于高并发业务系统的复制成为可能。

按照RealSync的日志分析设计目标,每秒能够分析的日志量达到10M/s。

RealSync通过对日志的分析,得到该数据库中的每个SQL指令,并将这些SQL指令生成DXF(DSGExtendFormat)格式的表达方式。

DXF格式是DSG公司的专有技术,该技术是DSG公司用来表达SQL指令的方式,该数据格式能够通过DSG的专有转换算法能够直接转换为ORACL的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富能够表达的各种数据类型。

通过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语句为单位进行传输的,更容易保证数据的一致性和完整性。

RealSync技术为了保证数据传输的安全、可靠,在传输处理上作了特殊的处理与支持:

(1)数据在传输之前首先存入DataSource端的Cache,传输进程(ExportProcess)从Cache中读取交易数据封装为TCP/IP数据包传送给Datatarget端的Import进程。

(2)在datatarget端,Import进程在收到传输的交易数据包后,首先存入Queue,然后由Load进程从Queue中严格按照交易的顺序装载交易信息。

如上图所示,负责传输的进程(ExportProcess)从本地队列中按照先进先出的原则抓取需要传输的交易,将交易数据封装成一个数据包后通过TCP/IP协议传递给对端系统。

在封装的数据包的包头部分描述了包的大小。

对端系统在接受到传来的数据包后,首先根据包头描述的包大小进行传输的合法性检查,判断是否传输完整。

在传统的复制技术中,常用的数据装载方式是采用Oracle的SQL接口,通过Insert、Update、Delete等SQL语句实现数据的装载。

这种方式在通用性上很好,但关键在于性能问题非常突出。

SQL语句的执行需要经过parse、plan、格式转换等过程,造成大量的系统开销。

尤其是update和Delte操作的大量Where子句操作需要进行复杂的查询定位任务,从而导致装载性能低下,对处理能力的要求比生产系统的还高。

DSGRealSync在设计之初就定位于电信级大数据量系统的应用,因此在装载性能上进行了大幅度的改善,使得装载端的性能和处理能力需求降至最低。

在其中DSGRealSync采用了两个关键的技术提高了装载速度:

(1)采用DXF数据格式的装载;

(2)采用Rowidmapping的方式实现快速定位;

DXF(DSGExtendFormat)格式是DSG公司的专有技术,该技术是DSG公司用来表达SQL指令的方式,该数据格式能够通过DSG的专有转换算法能够直接转换为ORACL的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富sql语句的表达方式。

Oracle数据库系统在设计上提供了4个层次的接口,其中包括User层,SQL层,Transformation层和I/O层。

其结构为:

在这四层当中,当采用SQL接口进行数据装载时,调用的是User层,

而DSGRealSync通过DXF数据格式装载时,调用I/O层直接将数据通过Oracle的最底层函数写入系统中,所以DSGRealSync在装载层上有一定优势;

对于交易中的操作,存在着大量的Where子句操作,在采用标准SQL语句执行这些操作时,系统需要首先定位目标记录所在的数据文件的位置信息,这将带来大量的索引查询开销,当并发执行数千条指令时,系统的开销将变得非常庞大。

DSGRealSync工具不采用该方式实现装载数据的定位,而是通过ROWMapping的方式实现记录的快速定位:

当RealSync从源端Log文件中读取交易数据时,将获得该交易对应记录的所在位置,用rowid表示为rowid_ds;

当该交易在目标端装载时,系统不翻译为Where子句,而是去通过保存在目标端的rowmapping表获得对应目标端该记录的所在位置rowid,记录为rowid_dt。

从而在目标端装载时通过rowid能够直接定位于该数据需要写入的位置。

避免了大量的索引查找时间。

每条记录的rowmapping信息是在该记录执行insert操作、sqlloader或首次批量同步时建立起来的。

RealSync的优势:

DSG扩展格式DXF(DSGExtendFormat)是RealSync产品的一个核心技术,是一种最高效率表示ORACLE记录的数据格式,该格式只需要经过最小的转换过程就能够装载到ORACLE数据库中,并且装载效率非常高。

n无需标准SQL语句执行的复杂过程

n加快装载速度

n对于Update,Delete等带Where子句的交易,可以大幅度提高装载速度

OracleOPS/RAC是一种多实例同时打开同一个数据库的技术,每个实例共享同一份数据文件和控制文件(控制文件可能有多个,但是内容相同,为每个实例所共享)。

一个例外是,每个实例的RedoLog都专属于该实例(如下图所示),但每个实例的所有RedoLog都必须能够被其他实例访问。

所有实例的RedoLog一般都保存在共享磁盘中(裸设备或集群文件系统)。

在OPS/RAC的环境下,RealSyncAgent需要安装在OPS/RAC一个节点上,RealSyncAgent通过控制文件得到每个实例的RedoLog配置,并实时跟踪每个实例的RedoThread产生的日志,分析日志并将提交的交易发送的目标系统。

在OPS/RAC环境下,多个实例共用一套SCN,每个实例对数据的修改都会引起SCN的递增改变,RealSync通过SCN在目标端顺序提交交易,来保证数据库的一致。

RealSync复制软件保证数据的一致性和完整性的保证主要通过以下几个方面:

保证交易先后顺序:

保证交易的先后顺序:严格按照源端Transaction执行顺序在目标端加载,严格的I/O顺序是保证系统逻辑正确的关键因素,RealSync通过对Transaction的SCN号进行判断,并严格保证源系统上先Commit的交易在目标端也是先装载。

检查日志跟踪的连续性:

检查日志跟踪的连续性:RealSync在每次log读取结束时,都将记录当前读取的日志的SequenceNo,BlockNo和最后读取的Offset,当下次读取文件时,总是需要检查是否和上次读取的位置严格连续,从而保证对日志分析的完整性。

数据一致性检查:

数据一致性检查:RealSync提供数据一致性检查工具,用来比较源端的记录和目标端的记录是否完全一致。

如果出现数据不一致,RealSync将对不一致的部分进行修复。

当系统在初始化过程,或需要重新完成批量数据复制时,RealSync提供海量数据的高速复制功能:

DSG复制功能是对数据实行导出、导入的方式实现的,但该实现不是通过oracleexport和import工具,而是利用DSGRealSync中内置的XEXP/XIMP工具实现的。

其过程不是对数据库底层的存储数据块进行复制,而是将源系统上的已有数据记录从datafile中直接读取并解析成为DXF数据格式,在利用XIMP将DXF数据批量快速装载到Datatarget系统上。

RealSync调用Oracle的I/O层的API接口批量读取一张表(Table)的记录(每次读多少条是由操作员设定的RealSync系统的Buffer决定的,如果一次读不完,则分为多次读取),然后将读取的记录转化为DXF格式,再将DXF格式表示的一批记录传送到目标端的RealSyncAgent进程,目标端进程再调用ORACLE的I/O层的API接口将数据批量写入目标系统中。

对于一个数据库而言,其中有许多张表(Table),RealSync依次将每张表的所有数据按照上述原理复制到目标系统中。

对于xexp导出过程不是通过Oracle的标准select接口,所以其导出速度非常快。

同时,在采用DSGRealSync实现批量数据装载时,还无需停止源系统上的业务流程。

那么RealSync是如何处理在导出过程中新改变的数据的复制呢?

因此,RealSync还支持第二阶段的增量数据复制:

当上个步骤的大批量数据完成后,RealSync再将步骤一过程中新增加的交易重新复制到目标系统。

在过程的工作原理是通过跟踪和分析从上个步骤开始时的所有redo。

log信息,从Log文件中分析和翻译出这段时间内新增加的记录,然后再将记录在目标系统上插入。

如果在该过程中复制的数据在目标表中已经存在,则RealSync将首先删除目标系统中的该记录,同时插入新复制的记录。

在这两个过程执行过程中,生产系统的业务可以保持运行状态。

无需中断业务。

因为根据业务逻辑,很多情况下无需对所有的数据表信息进行复制,而只需要复制那些需要的表的信息,这样可以减少存储和网络带宽的成本。

同时,SmartE支持水平和垂直分割。

在水平分割方面可以只复制那些满足预先定义的条件的记录。

在垂直分割方面允许设置对指定表的指定列进行复制。

RealSync可以被灵活配置,以支持各种复制策略,支持各种增值应用。