数据库复制-Goldengate

标签: 随笔文章 | 发表时间:2012-03-30 11:32 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
参考: http://wenku.baidu.com/view/4fd7ea22bcd126fff7050b5d.html

GoldenGate TDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。GoldenGate TDM 软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下:



GoldenGate TDM的数据复制过程如下:

利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGate TDM自定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;

目标系统接受数据变化并缓存到GoldenGate TDM队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;

GoldenGate TDM投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

由此可见,GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGate TDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,GoldenGate TDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的
GoldenGate TDM提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:
 


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

保证事务一致性

GoldenGate TDM 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。

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

GoldenGate TDM的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGate TDM进程故障重启后数据无丢失。

可靠的数据传输机制

GoldenGate TDM 用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能。

Oracle 公司的GoldenGate产品,可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate可以支持几乎所有常用操作系统如和数据库平台:

操作系统支持:MS NT, 2000, XP, Linux, Sun Solaris, HP-UX, IBM AIX, HP NonStop, TRU64, IBM z/OS,OS/390 数据库支持:  Oracle, DB2, MS SQL Server, MySQL, Enscribe, SQL/MP, SQL/MX, Sybase, Teradata, 其他ODBC 兼容数据库

GoldenGate的应用场景-容灾和应急备份



其中一主一备,快速恢复和切换,最小化数据损失,重新同步主备两端数据。主库数据变化能够实时的同步到备库,用途主要是在非计划性停机时候保持业务的连续性。

GoldenGate的应用场景-减少计划内停机



主要是保障业务零或近似零停机,在滚动升级中降低业务中断带来的损失。主要用途是保障系统/应用/数据库在升级,移植和维护期间业务的可用性。

GoldenGate的应用场景-双业务中心



主要是实现负载均衡(需要考虑全局多点的负载均衡,既提高性能,又避免业务中心的整体单点故障),提供系统整体性能。保障连续可用,快递的容灾接管,实现冲突的监测和处理。

相关 [数据库 复制 goldengate] 推荐:

数据库复制-Goldengate

- - 人月神话的BLOG
参考: http://wenku.baidu.com/view/4fd7ea22bcd126fff7050b5d.html. GoldenGate TDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活.

GoldenGate的复制原理和Quest公司的SharePlex产品一样

- - 数据库 - ITeye博客
 GoldenGate的复制原理和Quest公司的SharePlex产品一样,都是挖掘Oracle的日志(redo和归档)然后生成自己的队列文件,通过队列文件传输到目标端,目标端通过读取相应的队列文件在目标数据库中重演事务. 可以想像,SharePlex产品未来将会面临来自于Oracle公司何等强大的压力.

oracle ogg goldengate 双活复制避免循环复制参数_ITPUB博客

- -
我简单的简绍一下goldengate的一些实用的、常用的参数. 一、双向复制避免数据循环复制的参数. 首先说明一下循环复制,官网上的描述:. 意译:主端对数据的修改,被应用到了备端. 但是备端在执行这个主端传递过来的数据改变时,又被备端的extract 进程.       扑获到,并且又反给主端. 然后主端又给备端,这样形成了循环复制,会一直循环下去.

MySQL数据库复制概论

- - Float_Luuu的博客
每当我们讨论一项(新的)领域技术的时候,最好的方式通常是首先抛出一些问题,这些问题大致分为三类:诶. 这项技术又是什么玩意(What)?这项技术为什么会存在. 我们已经有那么多解决方案(Method)了,我们问什么要用它(Why). 如果这项技术那么好且我们正好有场景可以用到这项技术,且能使我们的系统得到很乐观的优化,那么我们怎么用呢(How).

SymmetricDS 3.5.14 发布,数据库同步和复制

- - 开源中国社区最新新闻
SymmetricDS 3.5.14 发布,此版本修复了 6 个 bug :路由、数据差异检测器、升级过程和 Oracle smallints 同步等;还有 4 处改进:快照支持,SQL 事件;classpath 简化和文档. 更多更新内容请查看 更新日志. SymmetricDS是一个平台独立的数据同步和复制的解决方案.

OGG双向复制oracle数据库配置

- -
Oracle GoldenGate supports an active-active bi-directional configuration, where there are two systems with identical sets of data that can be changed by application users on either system.

MySQL 数据库双向同步复制 - mindwind - 博客园

- -
MySQL 复制问题的最后一篇,关于双向同步复制架构设计的一些设计要点与制约. 数据库的双主双写并双向同步场景,主要考虑数据完整性、一致性和避免冲突. 对于同一个库,同一张表,同一个记录中的同一字段的两地变更,会引发数据一致性判断冲突,尽可能通过业务场景设计规避. 双主双写并同步复制可能引发主键冲突,需避免使用数据库自增类主键方案.

Oracle GoldenGate 监控工具:ggserr.log 错误日志不可忽视

- - CSDN博客推荐文章
Oracle 原厂最近在生产环境的主数据库安装了 OEM 12C 的监控插件后,主数据库对外十几个库同步同步的. Oracle GoldenGate 实例出现异常,疯狂地往 GoldenGate 根目录的 ggserr.log 输入出如下错误日志:. 2013-02-22 22:33:26  WARNING OGG-01930  Oracle GoldenGate Capture for Oracle, pcqstqz1.prm:  Datastore error in 'dirbdb': BDB0060 PANIC: fatal region error detected; run recovery.

Oracle GoldenGate系统之----双向同步数据表_ITPUB博客

- -
双向同步与单向同步类似,但需要着重注意两个问题:防止数据循环和防止数据冲突. 在EXTRACT进程中忽略REPLICAT的事务,一般排除提取用户的操作,并且与需要同步的用户分开. 如USERID SCOTT,PASSWORD TIGER. 一般要从应用层面解决,避免操作相同的数据. 假设是A、B两个库之间的同步配置.

探讨一下,如何用开源替代Oracle Goldengate - 墨天轮

- -
大家好,今天我们要来探讨一下如何用开源替代Oracle Goldengate软件. 所以我们要想办法在今后的运维中进行开源替换. 比较有名的就是debezium,它是一个开源项目,为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台. 它的架构如图所示,它通过kafka connect将变更后的数据传入kafka,然后在给下游的消费者使用.