最具影响力的数字化技术在线社区

168主编 发表于 2021-12-23 15:21:44

基于OGG实现异构数据实时同步

本帖最后由 168主编 于 2021-12-23 15:27 编辑

作者:娄陈陈,就职于科技开发中心数据中心基础数据团队,主要负责数据中台建设与数仓相关工作。
来源:锡银电子化

一、OGG的概念介绍
OGG(Oracle GoldenGate简称)一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。
二、OGG工作原理
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,MYSQL等。OGG基本架构如下:
三、OGG优势总结
2 支持并适用异构平台、异构数据库、远距离低带宽等复杂IT环境
2 支持双向、1对1、1对多、多对多、分层等各种复杂同步模式,提供了完善的数据同步方案2 卓越的性能:压秒级延迟,对源生产端影响极小;极低的网络占用2 优秀的可维护性:ü 安装与部署简便无需停机ü 纯绿色软件,解压缩即可使用(约180M),无需在数据库中插入任何对象ü 可以基于时间点定义复制起始位置,提供了很好的灵活性2 成熟度比较好、业界有比较多得实施案例   四、OGG在我行的应用及未来的技术架构中的作用
4.1 我行CRM系统使用OGG实时同步核心部分表至KAFKA消息中心,流程如下图:

CRM系统使用OGG实时同步核心系统的大额资金交易数据,经flink 对实时数据处理后,提供大额交易实时预警并发送短信给相应的客户经理,为我行资金监管及客户防流失起到一定的辅助作用。CRM系统实时提醒业务流程图如下:
以上业务流程图中,KAFKA数据由OGG从核心系统实时同步json格式数据源,CRM采用实时数据处理模式,对接收数据进行监听→分组→过滤→加工→推送的流程,将实时流数据进行及时处理、及时更新实时响应,为我行的预警系统提供实时服务。实时处理流程由CRM的Flink集群完成,并将结果返回给kafka消息中心。4.2 OGG在我行未来技术架构中的作用为了支撑我行的数字化转型、智能化升级,通过全局的维度支撑业务,让我行在市场上更具竞争优势,我行启动了数据中台项目。数据中台底层是基于我行已有的华为的FusionInsight大数据平台为基础的大数据框架,构建存储计算。以Yarn为分布式资源调度管理,对运行的MapReduce、Hive、Spark、Flink任务进行资源分配和调度,达到共用集群资源的目的。其中实时数据服务为数据中台提供数据开发三大模块中的重要一块内容,其处理流程见下图:

而做为同步数据的CDC消息主要采用OGG采集上游业务系统的增量实时数据,OGG在我行未来可能会有一对一、一对多、多对一多种拓扑结构以满足不同应用场景。数据中台一方面通过OGG实时读取各源系统日志文件写入KAFKA消息中心,供实时开发消费;另一方面通过OGG推送各业务系统增量数据落地到数据湖,供实时开发重跑等场景。在我行未来的数据域建设中,OGG将作为一个重要的环节来满足不同业务发展的需求,形成多元的数据服务的支持。

页: [1]
查看完整版本: 基于OGG实现异构数据实时同步