Oracle GoldenGate(OGG)讲解

对于刚毕业的学生来说,各项技能都比较薄弱。这里有幸在刚毕业接触了一个规模高达600人的项目。这里由于刚接触ogg,所以对ogg的原理和技术使用都比较薄弱,所以如果有错误之处,请大家指出,我后面归正处理。

环境需求
mysql 5.5.37
服务器
ogg for mysql 11.2.0.1.1

这里采用的不是虚拟机的形式安装,这里用的是百度服务器安装。

学习四问。什么是,为什么,何时用,怎么用,我们从这三个方面继续来学习ogg

一、基本概念

1.1什么是OGG

  1. 数据分发服务器DDS
在讨论ogg之前,这里我想介绍一下,之前我了解的数据分发服务DDS,
DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS
服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种
分布式实时通信应用需求。DDS信息分发中间件是一种轻便的、能够提
供实时信息传送的中间件技术。
  1. Oracle GoldenGate
Oracle GoldenGate简称ogg,是用于实时数据集成和复制的综合软件
包。它支持高可用性解决方案,实时数据集成,事务性更改数据捕获,数据
复制,转换以及运营和分析企业系统之间的验证。
简单的来讲 ogg是一种基于日志的结构化数据复制备份软件,它通过解析
源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目
标数据库,从而实现源数据库与目标数据库同步。OGG可以跨越不通平台
(包括不通操作系统,数据库)实现大量数据亚秒一级的实时复制,从而在可
以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中
/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,
OGG可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联
等多种灵活的拓扑结构。

1.2摘要

1.2.1 三大(四大)进程

OGG软件有三大(四大)进程:

三大关键进程:Exract,Manager,Replicat
如果说他有四大进程,那么第四大进程就是:目的端server进程
(负责在目的端写入trail文件)

进程介绍:

  1. Exract 进程:
    Manager进程是GoldenGate的控制进程,运行在源端和目标端上,在目标
端和源端有且只有一个manager进程.

它主要作用有以下几个方面:
    启动、监控、重启Goldengate的其他进程,报告错误及事件,分配数据存
储空间,发布阀值报告等.
  1. Manager进程
Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。
   Extract的作用可以按照表来时间来划分:
   1.初始时间装载阶段:在初始数据装载阶段,Extract进程直接从源端
   的数据表中抽取数据.
   2.同步变化捕获阶段:初始数据同步完成以后,Extract进程负责捕获
   源端数据的变化(DML和DDL)
  1. Replicat 进程
又称为复制进程,运行在目标端。
是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析
为DML或 DDL语句,然后应用到目标数据库中.Extract进程一
样,Replicat也有其内部的checkpoint机制,保证重启后可以从上次记
录的位置开始恢复而无数据损失的风险.
  1. 透明进程Pump进程
   pump进程运行在数据库源端,其作用是将源端产生的本地trail文件,
   把trail以数据块的形式通过TCP/IP 协议发送到目标端,这通常也是
   推荐的方式。pump进程本质是extract进程的一种特殊形式,如果不
   使用trail文件,那么extract进程在抽取完数据以后,直接投递到目
   标端,生成远程trail文件.Pump进程对于的叫Server Collector进程,这个进程不需要引起
   我们的关注,因为在实际操作过程中,无需我们对其进行任何配置,所
   以对我们来说它是透明的。它运行在目标端,其任务就是把
   Extract/Pump投递过来的数据重新组装成远程trail文件.
   pump进程可以在线或者批量配置,他可以进行数据过滤,映射和转换,
   同时他还可以配置为“直通模式”,这样数据被传输到目标端时就可以直
   接生成所需的格式,无需另外操作. 直通模式提高了data pump的效
   率,因为生成后的对象 不需要继续进行检索.

1.2.2 两种trail file

  1. 源头的trail file:由源头抽取进程写入。
  2. 目的端的trail file: 源头传输进程传输到目的端,由目的端的server 进程写入目的端操作系统的指定路径下。

重点:

1.2.3 三大进程处理trail file

源头抽取进程Extract:读取oracle redo log(因为我们工作的源端数据就是oracle,所以这里就用oracle来介绍),结合抽取进程的参数文件,将redo log中的内容变为OGG自有格式的文件(即trail file),并写入到源头操作系统的指定路径下。

源头传输进程Dump:读取“源头抽取进程写入的trail file”,结合传输进程的参数文件,发送需要同步的数据到目的端,在目的端是由server 进程负责写入。

目的端应用进程Replicat:读取目的端操作系统的指定路径下的trail file,结合应用进程的参数文件,形成sql语句,在目的端db上执行这些sql语句。

2. 为什么使用OGG

企业数据通常在异构数据库中跨企业分布。要在不同数据源之间获取数据,
可以使用Oracle GoldenGate实时加载,分发和过滤企业内的事务,并在
接近零停机时间的情况下启用不同数据库之间的迁移。

为此,您需要一种方法,以零停机时间实时有效地将数据从一个系统移动到
另一个系统。Oracle GoldenGateOracle复制和集成数据的解决方案。

补充:什么是异构服务器,异构服务器的架构并不像我们通常所使用的服务器架构,而是将服务器的硬件拆分成多个不同的单元分别置于机架中,通过数据通信达到服务器的效果。但是可能1个机柜下面就只存在1台服务器 不同的机架分别作为存储单元、运算单元、数据交换单元等不同的功能单元。
知道什么是异构服务器,大概就知道为什么要ogg技术,解决了不同数据源之间获取数据。

3. 何时用

由于Oracle GoldenGate几乎可以满足企业里可能需要的所有数据移动要求。

  1. 业务连续性和高可用性
    我在查阅资料的时候,发现了一个很好的例子,我分享出来:
考虑一种情况,您在一家总部位于英国伦敦的跨国银行工作。您在印度班加
罗尔的一家银行分支机构工作。该银行将特定帐户用于其财务应用程序,该
帐户在全球所有分支机构都使用。经理要求您每天将班加罗尔分公司数据库
中该帐户发生的交易与英国的集中数据库进行同步。交易量巨大,即使是最
轻微的延迟也会极大地影响业务。全球银行所有分支机构中的每个数据库在
多个目的地都需要执行相同的过程。必须连续监控此过程,最好是通过某种
基于GUI的工具来简化管理。此外,银行还有其他几个 所有分支机构都使
用非关键应用程序。这些应用程序基于异构数据库(例如MySQL),但是通
过这些数据库完成的事务也必须加载到总部的Oracle数据库中。使用的复
制技术必须同时支持Oracle和异构数据库,以便它们可以相互通信。在这
种情况下,Oracle GoldenGate是一个合适的解决方案。

这个例子就充分的体现了业务连续性和高可用性,这是其一,在这种情况下就可以使用ogg
2. 初始负载和数据库迁移
初始加载是从源数据库提取数据记录并将这些记录加载到目标数据库的过程。初始加载是仅执行一次的数据迁移过程。Oracle GoldenGate允许您执行初始负载数据迁移,而无需使系统脱机。
3. 资料整合

数据集成涉及合并来自多个不同来源的数据,这些数据使用各种技术存储,并提供数据的统一视图。Oracle GoldenGate提供实时数据集成。

4. 怎么用

字段对应:
MySQL常见的数据类型和DataHub的对应,更多MySQL支持的数据类型可以参考官方文档

mysqldatahub备注
CHAR、VARCHARSTRING
INT、TINYINT、BIG INTBIGINT
DECIMAL、FLOAT、DOUBLEDOUBLE/DECIMAL根据精度选择
DATETIME、TIMESTAMPTIMESTAMP
TEXT、TINYTEXTSTRING

这里的安装我借鉴的是阿里云的官方文档。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值