我的位置: 首页 > 学习专区 > 数据库技术 > GoldenGate数据同步技术

GoldenGate数据同步技术

2013-07-16 08:27:09
来源:
[导读] GoldenGate原来是一家独立的软件厂商的产品,现该产品已被Oracle公司收购,Oracle将GoldenGate软件集成到到其融合(Fusion)中间件中,预计以

GoldenGate原来是一家独立的软件厂商的产品,现该产品已被Oracle公司收购,Oracle将GoldenGate软件集成到到其“融合(Fusion)”中间件中,预计以后该产品将与Oracle数据库更紧密地集成。GoldenGate可以用于多种不同的操作系统平台(Unix、Linux、Windows)和多种不同数据库系统(如DB2、Oracle、Infomix、MySQL、Sybase等)之间的数据同步,是一款优秀的数据同步及数据分发产品。

GoldenGate软件需要安装在源数据库服务器和目标数据库服务器上,所需的操作系统资源在10%以下。GoldenGate数据同步的基本原理是由Extract进程读取源数据库的事物日志(Oracle中是redo log),将其中的变更操作(insert、update、delete等)按事务执行的顺序组合在一起,直接将其发送到目标服务其上,或者存放到Trails文件中,然后由Data Pump进程将Trails文件传输到目标服务其上,在目标服务器上Collector进程接收从源服务器传送过来的Trails文件,最后由Replicat进程将Trails文件中的数据装载到目标数据库中,其处理过程如下图:

由于GoldenGate将数据存储到自己的统一格式的Trail文件中,因此可以将Trail文件传送到不同的操作系统,应用在不同的数据库系统上,大大增强其灵活性。另外,由于GoldenGate只收集必要的数据到Trail文件中,且Trail文件可以压缩,因此大大减少通过网络传输的数据量,压缩后传输的数据量通常是日志量的1/4或更少。

GoldenGate有以下优点:

1) 支持异构的操作系统和数据库管理系统,便于客户在不同数据库管理系统和操作系统平台之间的数据同步,这是其核心优势所在;

2) 跟DataGuard传输整个日志文件相比,GoldenGate传输的数据量大大降低,在没有LOB等数据对象的情况下,通常是整个日志文件1/4或更少;

3) 目标数据库处于打开状态,且支持一对多、多对一,双向复制等,也可以选择部分对象进行复制,可满足数据分发和数据集成的需要,减轻源数据库压力;

4) 所占系统资源较少,通常在10%以下;

5) GoldenGate被Oracle公司收购后,预计对Oracle数据库的支持方面会做的更好;

GoldenGate的劣势体现在以下几个方面:

1) 需要支付额外的Liscense费用,通常是一笔不小的支出;

2) 需要在数据库软件外安装一套专门数据同步软件,增加了管理维护的复杂程度;

3) 不能支持某些特定的数据对象和数据类型;

4) 由于数据复制操作独立于数据库管理系统,因此不能确保数据零丢失。

由以上分析可知,GoldenGate用于数据整合,数据共享和分发方面比较合适,至于在高可用的灾难恢复环境中,如果能满足业务的RPO/RTO要求,也不失为一种理想的数据同步解决方案。

大家都关注:
评论
热点专题
>>