目录
OGG介绍
一、OGG简介
二、应用场景
三、基本原理
四、基本架构
五、常用的拓扑结构
六、支持的环境
OGG介绍
一、OGG简介
- OGG 是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化(数据量只有日志的四分之一左右)
- OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟。
二、应用场景
- 高可用容灾
- 数据库迁移、升级(支持跨版本、异构数据库、零宕机时间、亚秒级恢复)
- 实时数据集成(支持异构数据库、多源数据库)
三、基本原理
基于日志捕获技术的实时增量数据集成
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主要由如下组件组成
组件 | 说明 |
---|---|
Manager | 不管是源端还是目标端必须并且只能有一个Manager进程,可以启动、关闭、监控其他进程的健康状态,报告错误事件、分配数据存储空间,发布阀值报告等,其作用: 1:监控与启动 GoldenGate 的其它进程 2:管理 trail 文件及 Reporting |
Extract | Extract 进程运行在数据库源端上,它是Golden Gate的捕获机制,可以配置Extract 进程来做如下工作: 1:初始数据装载:对于初始数据装载,Extract 进程直接从源对象中提取数据 2:同步变化捕获:保持源数据与其它数据集的同步。初始数据同步完成后,Extract 进程捕获源数据的变化;如DML变化、 DDL变化等 |
Replicat | Replicat 进程是运行在目标端系统的一个进程,负责读取 Extract 进程提取到的数据(变更的事务或 DDL 变化)并应用到目标数据库,就像 Extract 进程一样,也可以配置 Replicat 进程来完成如下工作: 1:初始化数据装载:对于初始化数据装载,Replicat 进程应用数据到目标对象或者路由它们到一个高速的 Bulk-load 工具上; 2:数据同步,将 Extract 进程捕获到的提交了的事务应用到目标数据库中; |
Collector | Collector 是运行在目标端的一个后台进程,接收从 TCP/IP 网络传输过来的数据库变化,并写到 Trail 文件里 |
Trails | 为了持续地提取与复制数据库变化,GoldenGate 将捕获到的数据变化临时存放在磁盘上的一系列文件中,这些文件就叫做 Trail 文件 |
Data Pumps | Data Pump 是一个配置在源端的辅助的 Extract 机制,Data Pump 是一个可选组件,如果不配置 Data Pump,那么由 Extract 主进程将数据发送到目标端的 Remote Trail 文件中;如果配置了 Data Pump,会由 Data Pump将Extract 主进程写好的本地 Trail 文件通过网络发送到目标端的 Remote Trail 文件中 |
五、常用的拓扑结构
- 单向复制:由一个源数据库复制到一个目的数据库,一般用于高可用性和容灾,为生产机保持一个活动的备份数据库,从而在发生灾难的时候迅速切换,减少数据丢失和系统宕机时间;
- 双向复制:利用GoldenGate TDM可以实现两个数据库之间数据的双向复制,任何一方的数据变化都会被传递到另一端,可以利用此模式开展双业务中心;
- 广播复制:由一个数据库向多个数据库复制,利用GoldenGate TDM的数据过滤功能可以实现数据的有选择分发;
- 集中复制:由多个数据库向一个数据库复制,可以将分布的、跨平台或异构的多个数据库集中到一个数据库。此种模式广泛应用于n 1模式的容灾,通过将多个系统数据库集中到一起,可以充分利用备份中心的设施,大幅减少投资;另外也用于跨平台多系统的数据集成,为这些提供系统提供一个统一视图便于查询和统计数据。
- 多层复制:由A数据库向B复制,同时又由B向C复制,可以在以上几种模式基础上无限制扩展。
由此可见,GoldenGate TDM的复制模式非常灵活,用户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行扩展。
六、支持的环境
源和目标的操作系统和数据库可以进行任意的组合