OGG基础原理了解

一、 GoldenGate介绍

GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。

GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。

spacer.gif  

GoldenGate基本架构

spacer.gif  

Oracle GoldenGate主要由如下组件组成

● Extract

● Data pump

● Trails

● Collector

● Replicat

● Manager

Oracle GoldenGate 数据复制过程如下:

利用抽取进程 (Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。再利用传输进程将队列文件 (trail file) 通过 TCP/IP传送到目标系统。

目标端有一个进程叫 Server   Collector ,这个进程接受了从源端传输过来的数据变化信息,把信息缓存到 GoldenGate 队列文件(trail file) 当中,等待目标端的复制进程读取数据。

    GoldenGate 复制进程(replicat process)从队列文件 (trail file) 中读取数据变化信息,并创建对应的 SQL语句,通过数据库的本地接口执行,提交到目标端数据库,提交成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

 

 

     Oracle GoldenGate(OGG)可以在多样化和复杂的 IT 架构中实现实时事务更改数据捕获、转换和发送;其中,数据处理与交换以事务为单位,并支持异构平台,例如:DB2,MSSQL等
     
     Golden Gate 所支持的方案主要有两大类,用于不同的业务需求:
     
     ● 高可用和容灾解决方案
     ● 实时数据整合解决方案
     
     其中,高可用和容灾解决方案 主要用于消除计划外和计划内停机时间,它包含以下三个子方案:
     1.  容灾与应急备份
     2.  消除计划内停机

     3.  双业务中心(也称:双活)

      spacer.gif

 

     实时数据整合解决方案 主要为 DSS 或 OLTP 数据库提供实时数据,实现数据集成和整合,它包含以下两个子方案:
     1.  数据仓库实时供给
     2.  实时报表

      spacer.gif

 

     灵活拓扑结构实现用户的灵活方案:

      spacer.gif

 

     下图是一个典型的 Golden Gate 配置逻辑结构图:

 

      spacer.gif

 

      ① Manager
        
        顾名思义、Manager进程是Golden Gate中进程的控制进程,用于管理 Extract,Data Pump,Replicat等进程
        在 Extract、Data Pump、Replicat 进程启动之前,Manager 进程必须先要在源端和目标端启动
        在整个 Golden Gate 运行期间,它必须保持运行状态
        
        ⒈ 监控与启动 GoldenGate 的其它进程
        ⒉ 管理 trail 文件及 Reporting
        
        在 Windows 系统上,Manager 进程是作为一个服务来启动的,在 Unix 系统下是一个进程
        
     
② Extract
        
        Extract 进程运行在数据库源端上,它是Golden Gate的捕获机制,可以配置Extract 进程来做如下工作:
        ⒈ 初始数据装载:对于初始数据装载,Extract 进程直接从源对象中提取数据
        ⒉ 同步变化捕获:保持源数据与其它数据集的同步。初始数据同步完成后,Extract 进程捕获源数据的变化;如DML变化、 DDL变化等
        
     
③ Replicat
        
        Replicat 进程是运行在目标端系统的一个进程,负责读取 Extract 进程提取到的数据(变更的事务或 DDL 变化)并应用到目标数据库
        就像 Extract 进程一样,也可以配置 Replicat 进程来完成如下工作:
        ⒈ 初始化数据装载:对于初始化数据装载,Replicat 进程应用数据到目标对象或者路由它们到一个高速的 Bulk-load 工具上
        ⒉ 数据同步,将 Extract 进程捕获到的提交了的事务应用到目标数据库中
        
     
④ Collector
     
        Collector 是运行在目标端的一个后台进程
        接收从 TCP/IP 网络传输过来的数据库变化,并写到 Trail 文件里
        动态 collector:由管理进程自动启动的 collector 叫做动态 collector,用户不能与动态 collector 交互
        静态 collector:可以配置成手工运行 collector,这个 collector 就称之为静态 collector
        
     
⑤ Trails
        
        为了持续地提取与复制数据库变化,GoldenGate 将捕获到的数据变化临时存放在磁盘上的一系列文件中,这些文件就叫做 Trail 文件
        
        这些文件可以在 source DB 上也可以在目标 DB 上,也可以在中间系统上,这依赖于选择哪种配置情况
        在数据库源端上 的叫做 Local Trail 或者 Extract Trail;在目标端的叫做 Remote Trail
        
     
⑥ Data Pumps
        
        Data Pump 是一个配置在源端的辅助的 Extract 机制
        Data Pump 是一个可选组件,如果不配置 Data Pump,那么由 Extract 主进程将数据发送到目标端的 Remote Trail 文件中
        如果配置了 Data Pump,会由 Data Pump将Extract 主进程写好的本地 Trail 文件通过网络发送到目标端的 Remote Trail 文件中
        
        使用 Data Pump 的好处是:
        ⒈ 如果目标端或者网络失败,源端的 Extract 进程不会意外终止
        ⒉ 需要在不同的阶段实现数据的过滤或者转换
        ⒊ 多个源数据库复制到数据中心
        ⒋ 数据需要复制到多个目标数据库
        
     
⑦ Data source
        
        当处理事务的变更数据时,Extract 进程可以从数据库(Oracle, DB2, SQL Server, 
MySQL 等)的事务日志中直接获取
        或从 GoldenGate VAM中获取。通过 VAM,数据库厂商将提供所需的组件,用于 Extract 进程抽取数据的变更
        
     
⑧ Groups
        
        为了区分一个系统上的多个 Extract 和 Replicat 进程,我们可以定义进程组
        例如:要并行复制不同的数据集,我们可以创建两个 Replicat 组
        一个进程组由一个进程组成(Extract 进程或者 Replicat 进程),一个相应的参数文件,一个 Checkpoint 文件,以及其它与之相关的文件
        如果处理组中的进程是 Replicat 进程,那么处理组还要包含一个 Checkpoint 表

 



GGSCI 

GGSCI是GoldenGate Software Command Interface 的缩写,它提供了十分丰富的命令来对Goldengate进行各种操作,如创建、修改、监控GoldenGate进程等等。

Commit Sequence Number

前文已经多次提到,Goldengate是以事务为单位来保证数据的完整性的,那么 GoldenGate又是怎么识别事务的呢? 这里用到的是Commit Sequence Number(CSN)。CSN存储在事务日志中和trail文件中 ,用于数据的抽取和复制。CSN作为事务开始的标志被记录在trail文件中,可以通过@GETENV字段转换函数或者logdump工具来查看。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31438871/viewspace-2199319/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31438871/viewspace-2199319/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值