互联网时代发展至今,已是大数据时代,如何高效管理企业的核心数据已成为企业当前首要任务,在确保数据库高效运行前提下,对于关系型数据库、非关系型数据库、Bigdata大数据之间的数据融合的需求也是比较常见,那么问题来了,如果需要将这些同构、异构环境下的数据进行整合在行业内是否拥有比较成熟、可靠、高效的方案呢?答案是肯定存在的,且多种方案并存,方案选择取决于用户需求。
接下来,重点讲解利用Oracle GoldenGate来实现各类数据库之间如何进行数据整合、在线迁移升级、大数据融合等技术方案。在方案讲解之前,先来熟悉一下GoldenGate的体系架构,只有充分掌握了架构的基本原理以及各个组件的具体功能,才能灵活运用拓扑结构满足各类的用户需求。

01
—
GoldenGate体系架构讲解
一、 使用GOLDENGATE实现数据同步的需求
生产数据库零宕机迁移或数据库版本升级;
为开发人员克隆生产数据库环境,根据需求确认是否实时同步;
异构环境数据库转换;
实时数据整合、分发与同步;
针对部分表进行集中同步到数据仓库,实现报表查询;
针对应用层实现读写分离,降低生产库的负担;
生产数据库的在线容灾,生产用户完全复制到容灾库,安全冗余备份;
源库中表字段进行过滤复制到目标端;
利用双向复制特性,有效降低成本、提高系统利用率,实现系统高可用性;
灾难恢复与数据保护;
实现关系型数据库事务与Big Data数据整合;
利用函数、存储过程调用、SQL语句实现数据按需分发到目标。
以上为常见的数据同步案例中的需求,具体详细的配置可以根据需求进行按需配置。
二、 了解GOLDENGATE数据复制的基本架构
1、GoldenGate组织架构如下图所示:

2、架构组件详细介绍
根据上图可以明确总体架构包含的组件如下:
Extract 抽取进程组件,配置源端需要抽取的数据库名称、表名称以及存放的trail文件
Data pump 数据传输进程组件,即使网络中断后依然可以继续传输trail文件到目标端
Replicat 投递进程组件,专门负责目标端数据写入
Trails or extract files 存放抽取数据库提交信息的trail文件
Checkpoints 检查点进程
Manager 管理进程,可以配置进程自动启动、重启,定期删除trail文件以及定时报警配置
Collector 目标端的后台进程,负责接收抽取端的进程与目标端的管理进程进行通信并扫描可用端口,将端口信息返回给抽取端的Manager进程,同时也会将源端pump进程传输的trail文件变更信息写入到目标端定义的trail文件位置
1、从实时同步拓扑结构角度看
速度– 亚秒级的延迟
性能 – 每秒数以千计的事务
日志-数据获取的基础
Native,Local Apply
有效率的IO减少带宽的使用
支持双向复制
支持分组的事务
支持批量操作
支持数据压缩
支持多对1和1对多
支持级联
完整的事务、透明的数据获取 保证交付、冲突检测和解决、动态回滚、增量的TDM 初始数据的加载、基于GUI的监控和配置 主动报警、加密、实时或批量事件标记
异构的数据源映射、转换 解耦架构,对表格、行、列筛选 支持XML、ASCII、SQL格式、队列接口、存储过程、用户定制 支持ETL集成 支持Java / JMS集成 支持 BigData转换集成





