oracle产品

备份软件

GoldenGate软件在数据复制方面应用的技术特点

1       GoldenGate 软件在数据复制方面应用的技术特点

基于GoldenGate的数据复制方案,能够在异构环境下有效保护用户业务数据安全和业务连续性,并且具有高性能、高可靠性、高可扩展性。其主要特点如下:

1.1   卓越的性能

GoldenGate 软件能够在活动的生产端及目标端进行数据复制,秒一级的数据延迟,大交易量的数据复制,能在很大程度上确保两端数据的同步性及一致性。

1.1.1    大交易量数据复制

GoldenGate是一种能够支持大交易量数据复制的软件。它通过实时解析数据库在线日志,捕获其中的数据变化予以复制;再通过数据压缩、缓存和网络优化等手段有效利用网络,降低传输时间;通过交易重组、操作合并、并行处理等机制加速数据在目标端的投递,从而保证了对大交易量实时复制的实现。在美国银行、Overstock等案例以及国内多次测试中,GoldenGate 软件每日同步的数据增量超过1T,在同类软件产品中无人能及。

1.1.2    极低的时延

GoldenGate实时解析数据库的日志,可以在几十个毫秒之内获取数据的变化,然后通过网络传输到目标端;目标端GoldenGate投递进程同样在几十个毫秒内将数据通过数据库本地接口投递到数据库中,完成数据复制。

根据我们在某用户使用中实测的数据,在北京到广州近2000公里的远距离复制中,使用2M DDN专线,每日日志增量在20G左右,其复制延迟一般在1秒钟之内,在国内外数据复制应用中处于领先地位。如果复制距离缩短,延迟时间会更短。

1.1.1    对生产端影响小

GoldenGate 优秀的日志分析技术使得其在复制过程中极少与源数据库交互,且无须在数据库中插入表或触发器,从而对源数据库运行影响非常小,对生产系统的运行基本没有影响。

1.1.2    最低的网络带宽占用

首先,从原理上讲,GoldenGate复制的基本单位是事务,复制的是最小化的数据变化集。通常通过GoldenGate复制的数据量仅为数据库日志量的四分之一左右。其次,GoldenGate集成了数据压缩功能,可以进一步降低在网络上传输的数据量。其压缩算法与winzip相同,根据使用经验,可以达到6191的压缩比例,进一步降低了带宽的需求。

1.2   高可靠性

1.2.1    可靠的数据复制机制

GoldenGate可以提供可靠的数据复制,主要体现在下面三点:

(一) 保证事务一致性

GoldenGate应用复制操作的顺序与在源系统上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性。这种以交易为单位的复制,在一旦出现灾难后能够避免出现交易中只有部分数据被复制到目标从而造成数据紊乱,大大提高了数据复制的可靠性。

(二) 检查点机制保障数据无丢失

GoldenGate的抽取和复制进程使用检查点机制记录完成复制的位置。比如在抽取进程中,其检查点记录当前抽取日志的位置,下次复制时能够从该点继续复制,从而保障数据无丢失。在数据传输和投递进程中,也同样运用了检查点机制来保证数据复制的可靠性。

(三) 可靠的数据传输机制

GoldenGate使用应答机制传输交易数据,只有在得到确认消息后才认为数据

传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到目标端。

GoldenGate的数据传输机制

 

1.1.1    健壮的复制环境

GoldenGate提供了多种异常处理预案,使客户可以从容应对网络中断、数据库实例失败、RAC节点失败、目标数据库失败等各种异常情况,在异常出现后能够快速地恢复数据复制且保证无数据丢失。

1.1.2    自动的异常恢复能力

GoldenGate使用检查点机制记录当前完成复制的位置。在日常运行过程中,如果由于网络中断、数据库实例失败、存储空间不够等原因造成复制停止,GoldenGate能够以自定义间隔自动检测并在异常排除后恢复复制,保障数据无丢失,使得管理和维护工作中人工介入降低到最小。

1.2   优秀的兼容性和可扩展性

1.2.1    兼容多种软硬件平台以及数据库平台

GoldenGate 是一种基于日志的结构化数据复制软件,能够兼容各种服务器、磁盘阵列等硬件设备,支持当前常用的各种操作系统如HP UnixIBM AixSun SolarisLinuxWindowsz/OS等,可用于当前主流的OracleDB2SQL ServerSybaseMySQLTeradata等各种数据库平台上。

GoldenGate软件兼容表


1.1.1    支持异构环境间的数据复制

GoldenGate 不仅适用于多种软硬件平台,还能在主备端异构的情况下跨平台进行数据复制。由于GoldenGate 是基于日志的数据复制软件,对于硬件平台及操作系统平台有很好的兼容性。对于不同数据库类型,GoldenGate 设计了各自对应的捕捉和投递模块。其捕捉通过解析数据库日志将数据转化为与数据库无关的自定义格式存放到队列,安装在目标端的GoldenGate 软件再将这些数据转换为与目标数据库类型及版本相一致的SQL语句,最后将数据变化应用到数据库。因此,GoldenGate 软件可以实现不同类型操作系统、不同数据库或其不同版本之间的数据复制。

1.1.2    灵活的多种复制模式便于扩展

GoldenGate提供了灵活的应用方案,基于其先进、灵活的技术架构及其异构环境支持可以根据用户需求组成各种拓扑结构(如图所示)。客户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行任意扩展。基于这种灵活的拓扑和对软硬件的高兼容性,使得客户在IT系统扩展上具有更高的灵活性。

GoldenGate各种拓扑结构示意图

1.1   良好的可维护性

1.1.1    安装与部署简便无需停机

GoldenGate复制软件的安装和部署非常简单,可以在很短时间内完成软件安装。GoldenGate是一个解压缩后即可使用的软件,其所有信息包括配置、进程信息、数据队列等都放在安装目录下。GoldenGate的状态信息、报告、断点等所有信息等放在其安装目录下,它不需要在源数据库和目标端数据库插入任何附加对象。GoldenGate的安装过程可以在10分钟以内完成,且无须数据库停止服务,对于保证信息系统的业务连续性有重大意义。

1.1.2    基于时间点的复制可实现快速恢复

GoldenGate数据复制可以基于时间点定义复制起始位置,这为客户在维护过程中提供了更好的灵活性。例如,如果目标数据库由于系统错误或者人为失误造成近一个小时数据出现错误,我们可以使用一个命令修改GoldenGate时间点使之从错误时间点之前重新复制,GoldenGate的冲突处理机制会自动过滤掉重复数据,使得最后目标数据恢复与源端一致,而无需重新初始化数据。这种基于时间点的机制非常灵活,为系统管理和维护提供了很大的便利。

1.1.3     方便易用的管理工具

为了使客户方便地管理,GoldenGate提供了集中管理的工具 Director。该工具可以对多个分布的GoldenGate实例进行集中管理,并提供命令行、web页面面和Java 界面三种管理界面,客户可以根据自身爱好选择任意一种方式管理和监控复制软件的运行。

GoldenGat Director示意图

Director使得客户可以更加直观的观察复制软件运行的状态,管理和配置复制软件进程和参数,及时处理故障和报警,还可以提供与第三方监控软件的接口,极大地方便了客户的管理。

 

1.1   广泛的用户基础

GoldenGate是一家专注于数据复制领域的专业公司,也是全球最早致力于数据复制软件开发的公司之一,其产品经过世界各国著名企业多年验证。其客户包括中国海关总署、中国国家税务总局、中国国家体育总局体彩管理中心、海南移动、中国电子口岸、美国银行、VISA、瑞银集团、汇丰银行、澳大利亚海关、新加坡港务局等企事业单位,得到了客户的一致好评。

 

 

1       总结

在数据复制系统建设中,数据目标是关键,如何将数据(包含系统、应用和业务等数据)特别是关键业务数据完整、实时地复制到目标中心,是系统数据复制建设的重点。基于GoldenGate 产品的数据复制解决方案,很好的实现了数据目标的任务,能够在异构环境中实现大交易量数据的实时复制,确保关键数据的持续性访问,及系统业务的连续性。对多种硬件平台、操作系统平台及数据库平台的兼容,跨平台数据复制的特性,特别适用于生产端具有多样性的数据复制系统建设。此外,GoldenGate 具有良好的性能,对生产端资源、网络资源占用极少,实时的数据复制,简易的安装,灵活的部署,广泛的应用基础,也使得它在数据复制系统数据级复制中,有着无可比拟的优势。

总之,基于GoldenGate 软件的数据复制方案,能够在主备端的异构环境下实现数据实时目标,减少灾难带来的损失,是数据复制系统建设的最佳选择。

附录

GoldenGate产品介绍

GoldenGate公司的领先技术就是逐渐为大家所知的交易数据管理Transactional Data Management (),可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate可以支持几乎所有常用操作系统如和数据库平台,如下表所示:

GoldenGate软件兼容表


GoldenGate软件提供了一个单一的平台,这个平台可以为任何企业环境实现秒一级的灾难目标。GoldenGate是一种基于软件的数据复制方式,它从数据库的日志中解析数据的变化(数据量只有日志的四分之一左右),GoldenGate将数据转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式如Oracle Net,而且可以通过高达9:1的压缩比率对数据进行压缩,大大降低带宽需求。在目标端,GoldenGate可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在秒一级实现大量数据的复制。

GoldenGate复制模式

1) 单向数据复制

GoldenGate的数据复制原理是:利用捕捉进程(Extract Process)在源系统端读取Online Redo LogArchive Log,确定需要进行的复制(增、删、改)操作,并通过队列(Extract 队列),将相关信息传送到目标系统。目标系统端的投递进程(Deliver 进程)接受相关内容,通过Replicate 进程创建实现数据复制或同步的SQL语句,并在目标系统中予以执行。


单向复制示意图

 

2) 双向数据复制

双向数据复制是基于单向数据复制原理之上,两端互为源/目的数据复制对象,两端生产系统同时保持Active状态。

为了避免出现刚被复制进对端目的数据库数据马上又被捕捉进程复制回源端,陷入死循环的状态。GoldenGate采用了相应的判别机制来保证对捕捉数据的识别,当应用程序和GoldenGate复制进程同时更新同一个表时, 捕捉进程使用了一个跟踪表机制。在配置双向数据复制时, 需要通过命令行向两边的数据库中加入跟踪表。当捕捉进程读到一个交易中有针对跟踪表的更新, 捕捉进程就知道这个交易是由复制进程产生的并且把这笔交易忽略掉. 如果没有针对跟踪表的更新, 捕捉进程就知道这个交易是由应用程序产生的并且把这笔交易读取出来.

通过以上处理机制后,就可以很好的解决双向数据复制中所担心的重复捕捉变化数据的操作出现。

显然,上述过程的实现,与基于文件复制原理的数据同步完全不同。无论从网络资源占用、执行效率和对系统性能影响等方面考虑,都比其它方案有较大的优势。


双向复制示意图

 

GoldenGate提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:

GoldenGate各种拓扑结构示意图

 

Ø  广播复制:由一个数据库向多个数据库复制,利用GoldenGate的数据过滤功能可以实现数据的有选择分发;

(一) 集中复制:由多个数据库向一个数据库复制,可以将分布的、跨平台或异构的多个数据库集中到一个数据库。此种模式广泛应用于n+1模式的数据复制,通过将多个系统数据库集中到一起,可以充分利用目标中心的设施,大幅减少投资;另外也用于跨平台多系统的数据集成,为这些提供系统提供一个统一视图便于查询和统计数据。

Ø  多层复制:由A数据库向B复制,同时又由BC复制,可以在以上几种模式基础上无限制扩展。

由此可见,GoldenGate的复制模式非常灵活,用户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行扩展。

GoldenGate关键特性

GoldenGate是一种基于数据库日志的数据复制产品,可以利用极少的系统开支,实时复制数据库,改善数据可用性。GoldenGate可以在数据移植、在线维护等场合应用,以减少或消除数据库的停机时间。同时,它还可用于数据数据复制、负载均衡、数据集中、数据分布等应用中。GoldenGate可确保在这些工作进行时,源系统的正常事务处理得以继续进行,功能上不受影响。

作为一种软件方案,GoldenGate 可以采用非常灵活的方式加以配置,包括双向复制和多层次的数据复制。特别是其在双向数据复制领域的技术先进性,可以满足用户在本地或广域网络环境中的各种复杂需求。

GoldenGate的软件的几个关键特性

Ø  本机数据改变捕捉作为一个基于日志的同步解决方案,将对源系统和网络的影响减少到最低。

Ø  灵活性源和目的系统不需要有一样的操作系统、数据库及模板(例如∶表,索引,等)GoldenGate能在同一个系统的多个数据库实例之间实现数据复制,或把数据复制到局域网内的其它数据库实例,或把数据复制到广域网上的远端数据库实例。

Ø  无需宕机时间的移植–GoldenGate能在不同版本的数据库和操作系统之间同步数据。数据库,操作系统或应用系统的更新可以在辅助系统里进行。一旦更新后的辅助系统通过了完整的测试,所有的处理工作就可以切换到辅助系统,然后更新主系统。一旦主系统的更新完成了,主与辅助系统之间能够再一次同步而无宕机时间。

Ø  不依赖于硬件和数据库–GoldenGate不依赖于操作系统,数据库和硬件。数据可以在不同的环境之间移动,因而消除了客户对任何拓扑结构的依赖性。

Ø  RPORTO的目标–GoldenGate提供了立即恢复目标的装备。这是因为源和目标系统可以配置或构架设计为双向端到端的功能。

Ø  双向复制–GoldenGate提供了两个或两个以上生产系统之间的数据复制功能。这些系统无须具有一样的属性或相同的操作系统,数据库或数据库版本。

Ø  数据一致性目标数据库支持读一致性的查询活动(交易的一致性在任何时候都受到保护)

Ø  灵活的拓扑结构在数据库和表一级实现了多种相关数据的分部方式。例如∶支持一对多,多对一,多对多以及分层的配置。

Ø  映射与转换功能列转换能够适应特别的目标需要,包括查看和执行存储过程。

Ø  数据选择选择性的复制数据而不是全部,例如表,行和列。

Ø  支持OracleRAC对于Oracle的一个特别需求就是实时支持RAC数据复制。与其它现有方案不同之处就是能够从交易日志中捕捉和投递数据。

GoldenGate用途及应用方式

GoldenGate 是一种基于log 的复制解决方案,支持不同的配置方式,以满足用户的各种数据复制和同步化要求。其用途和应用方式包括:

1)建立报表系统

GoldenGate 可以将源系统的数据实时复制到目标系统,从而建立一个可以被访问的即席查询和报表系统。目标系统可以是源系统的全集或子集。


    报表实例

通过将查询和报表系统放在不同的数据库实例中运行,可以平衡服务器负载并提高OLTP类生产系统的性能。一方面,可以减少OLTP应用和查询报表应用之间的磁盘I/O冲突,提高OLTP应用的效率。另一方面,GoldenGate支持不同模式间的复制。可以分别面向OLTP和查询系统的使用特点来进行设计,如建立索引,设置数据库表的参数等等。

2)实现高可用性

保证数据高可用性和数据库系统能够从灾难中迅速恢复是一个非常具有挑战性的工作。GoldenGate可以通过LANWAN进行复制,这样当生产环境出现紧急事件或要进行例行维护时,可以将应用切换到复制数据库中。

 

    高可用性

有了生产数据库的实时拷贝,用户可以保证应用系统7*24不间断运行的情况下进行维护工作,如进行操作系统和数据库的升级等等。

3)多数据源配置

多数据源配置允许你将不同的用户分布到不同的服务器,让每个数据库能够反映其他数据库的变化。在这种配置模式下,GoldenGate采用必要的冲突处理机制来解决可能发生的冲突。

多数据源

4)数据分布和数据集中

GoldenGate通过LANWAN进行实时复制,将生产数据库中的数据拷贝到需要它们的地方。对广播复制来说,远程用户可以访问这些实时数据而不用登录生产服务器。因此,提高了网络性能和生产环境下的OLTP应用的性能。

集中复制

  广播复制

5)层次化企业数据分布

GoldenGate 支持层叠复制,可以向不是直接相连的数据库复制数据。使用这种配置,可以在远程数据库间进行复制(如从北京到上海)。GoldenGate 支持多种复杂的场景来满足复制需求。

数据分布