Oracle GoldenGate 实现原理是通过抽取源端的redo log 或者 archive log ,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现 同源端数据同步。
详细OGG如何数据同步,基本原理和架构:
- 1)、源端(SRC):获取Oracle数据表数据,从日志文件获取
- 管理者:
MGR(Manger)
- 第一、进程:
Extract提取
进程,获取日志数据文件- 第二、本地缓存:
Local TrailFile
,将日志文件数据存储到本地TrailFile文件中,缓存- 第三、进程:(可选)
Pump进程
,将本地Local TrailFile发送给目标端- 2)、目标端(DST):发送数据到目标,如Topic
- 管理者:
MGR(Manger)
- 第一、进程:
Collect进程
,接收源端pump进程发送的数据,新版添加进程- 第二、远程缓存:RemoteTrailFile,目标端接收到数据文件以后,进行缓存
- 第三、进程:
Replicat进程
,复制进程,解析RemoteTrailFile文件,转换JSON格式,发送到Kafka
OGG采集数据时,完整结构如上如所示:分为源端SRC和目标端DST,都有自己管理进程MGR。
Extract 进程用来捕获数据源,有三种类型:
- 1)、initial load:加载整张表的数据,属于批量加载
- 2)、恢复日志/事务日志:恢复数据库表的数据
- 3)、捕获模型,实时监控日志文件,已有数据,立即捕获
Data pump
是Extract的辅助可选组件,如果不配置Data pump,Extract将捕获的数据直接发给目标机器上的Collector进程。
08-[理解]-OGG 数据同步之拓扑结构及支持环境
OGG架构和原理,发现架构划分比较细(分工比较细),OGG在实际项目中,使用时,常见拓扑结构和支持环境,以后如果考虑使用OGG实时同步数据时参考。
Oracle数据库配置集群Cluster,称为Oracle RAC(Real Application Cluster
由此可见,GoldenGate TDM的复制模式非常灵活,用户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行扩展。
源和目标的操作系统和数据库可以进行任意的组合。