数据库复制-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公司何等强大的压力.

MySQL数据库复制概论

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

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

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

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.

数据库sharding

- - 数据库 - ITeye博客
当团队决定自行实现sharding的时候,DAO层可能是嵌入sharding逻辑的首选位置,因为在这个层面上,每一个DAO的方法都明确地知道需要访问的数据表以及查询参数,借助这些信息可以直接定位到目标shard上,而不必像框架那样需要对SQL进行解析然后再依据配置的规则进行路由. 另一个优势是不会受ORM框架的制约.

数据库索引

- - CSDN博客推荐文章
索引是由用户创建的、能够被修改和删除的、实际存储于数据库中的物理存在;创建索引的目的是使用户能够从整体内容直接查找到某个特定部分的内容. 一般来说,索引能够提高查询,但是会增加额外的空间消耗,并且降低删除、插入和修改速度. 1.聚集索引:表数据按照索引的顺序来存储的. 2.非聚集索引:表数据存储顺序与索引顺序无关.

数据库事务

- - 数据库 - ITeye博客
事务传播发生在类似以下情形:. 假设methodB的配置是:. 如果methodA在事务里,那么methodB也在这个事务中运行. 如果methodA不在事务里,那么methodB重新建立一个事务运行. 如果methodA在事务里,那么methodB也在这个事务中运行. 如果methodA不在是事务里,那么methodB在非事务中运行.

数据库优化

- - 数据库 - ITeye博客
程序运行效率,优化应用程序,在SP编写过程中应该注意以下几点: . a) SQL的使用规范: .   i.尽量避免大事务操作,慎用holdlock子句,提高系统并发能力.   ii.尽量避免反复访问同一张或几张表,尤其是数据量较大的表,可以考虑先根据条件提取数据到临时表中,然后再做连接.   iii.尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该改写;如果使用了游标,就要尽量避免在游标循环中再进行表连接的操作.