Oracle GoldenGate概述
GoldenGate 是高可用和实时数据同步的最优解决方案。GoldenGate 协助关键系统保持 24*7 小时运作,满足最终用户连续可用的要求。GoldenGate 帮助组织在企业范围内快速分发关键数据,以便及时和准确的决策。简而言之,GoldenGate 解决方案就是实时获取实时信息。
GoldenGate解决方案由GoldenGate Transactional Data Management (TDM)支撑,提供异构系统间事务数据实时捕获、路由、转换和投递,同时系统消耗最低。
实时数据同步解决方案
GoldenGate 实时数据同步解决方案提供为数据仓库、商店经营数据、报表系统,或其他OLTP数据库提供实时变化数据。
无须批处理窗口,并且性能影响最小。
-
GoldenGate 实时数据仓库在OLTP系统和数据仓库之间连续、实时地捕获、转换和投递最近变化的数据。这也可以和现有ETL系统整合。
-
GoldenGate 实时报表 以廉价次等系统分担生产数据库的报表负载。实时报表总能获取最新数据。
-
GoldenGate 事务数据完整性 在OLTP系统之间实时保证点对点数据完整性,并且系统影响最小。
GoldenGate可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate可以支持几乎所有常用操作系统如和数据库平台。
GoldenGate软件提供了一个单一的平台,这个平台可以为任何企业环境实现秒一级的灾难备份。GoldenGate是一种基于软件的数据复制方式,它从数据库的日志中解析数据的变化(数据量只有日志的四分之一左右),GoldenGate将数据转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式如Oracle Net,而且可以通过高达9:1的压缩比率对数据进行压缩,大大降低带宽需求。在目标端,GoldenGate可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在秒一级实现大量数据的复制。
技术原理
Oracle GoldenGate软件是一种基于log(日志)的结构化数据复制软件,它通过解析源数据库在线log或归档log获得数据的增、删、改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。Oracle GoldenGate 软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒级的实时复制,其复制过程简图如下:

图表 Oracle GoldenGate技术原理
如上图所示,Oracle GoldenGate的数据复制过程如下:
-
利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为Oracle GoldenGate自定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;
-
目标系统接受数据变化并缓存到Oracle GoldenGate队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据。队列数据量一般只有log的四分之一左右;
-
Oracle GoldenGate投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。
由此可见,Oracle GoldenGate是一种基于软件的数据复制方式,它从数据库的log解析数据的变化。Oracle GoldenGate将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,Oracle GoldenGate可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的。

Oracle GoldenGate各种拓扑结构示意图
支持的操作系统和数据库类型
Oracle GoldenGate可以在异构的IT基础结构之间实现大量数据的亚秒级的数据捕捉、转换和投递。Oracle GoldenGate支持几乎所有常用操作系统和数据库平台,如下表所示:
操作系统 |
数据库 |
Windows 2000, 2003, XP
Sun Solaris
HP-UX
IBM AIX
Linux
HP TRU64
HP OpenVMS
HP NonStop
IBM z/OS |
Capture(捕获) |
Delivery(投递): |
Oracle
IBM DB2
MS SQL Server
Sybase ASE
Teradata
Enscribe
SQL/MP
SQL/MX |
Oracle
IBM DB2
MS SQL Server
Sybase ASE
Teradata
Enscribe
SQL/MP
SQL/MX
Ingres
HP Neoview
任何ODBC兼容数据库
ETL products
JMS message queues
MySQL
TimesTen |