初探
Oracle
Golden
Gate(一)
项目中可能要用到Golden Gate 来做为数据复制的工具,在
google上查询了一番,看了些文章,写下些心得。
这篇文章作为一个引子,希望自己能够坚持下来。
Oracle新收购的Golden Gate,主要强调数据的实时性,号称数据提取最快,对源端开销影响最小;
在Oracle官方网站上的Golden Date的介绍: http://www.oracle.com/goldengate/index.html
Golden Gate工作原理:在源
数据库端(支持各种数据库)提取日志文件以获得变化的发生,如Oralce数据库就是监控Redo Log或Archieve Log,将变化的数据写入一个本地的跟踪文件Trail File(可以想象成一个TXT文件),然后将记录加密、压缩后路由到目的端的跟踪文件Trail File,最后在目标端用
SQL写入目标数据库。在目标和源端的跟踪文件都有一个检查点记录最后一个成功的记录位置。说实话,Golden Gate的工作原理很简单,在国内ISV开发的应用中也有用完全类似的方法来实现功能,如银行业的前置机项目和电信的BOSS项目中导程控交换机的话单。
Golden Gate的亮点在在可以搭建异构平台间的复制,来提高容灾能力。可有多少公司愿意拿SQL/DB2来作为ORACLE的容灾数据库呢?如果这样看,Golden Gate的这个亮点是只是个空架子,不实用。至少不能落地。听闻以后Streams技术将被集成到GoldenGate中,Oracle开始在每一个知识点上都要做强,然后就是收钱。。。
到了11G的Active DataGuard可以同时应用Log,同时让数据库处于打开状态,如果是单纯的查询报表来说,那已经是满足要求了。那OGG的好处又在哪里呢?
道听途说:
goldengate不是根据rowid来确定正确的数据的,是根据table 的key来决定的,如果没有设定table的key,会把整行数据作为一个key来确定数据。
竞争对手:
Quest shareplex: shareplex是Quest公司出品的
软件,专门用来做Oracle数据库之间的同步,他的原理是通过解析Oracle的redo log,然后解析成SQL语句同步到其他的数据库中,它最大的好处在于,同步时目标数据库可以读写。
下载GOLDEN GATE 的网址:
http://edelivery.oracle.com
参考文章:
http://news.newhua.com/news1/program_database/2009/1223/091223153410872F8K68804G0274C9EG7HF0FB5F4F256897GG1F6B060.html
http://blog.sina.com.cn/s/blog_53b4fdce0100gubp.html