OGG:【OGG】入门介绍

什么是OGG?

Oracle GoldenGate(OGG)是一个综合性软件包,用于在异构 IT 环境中进行实时数据集成和复制。它支持运营和分析企业系统之间的高可用性解决方案、实时数据集成、事务性变更数据捕获、数据复制、转换和验证。

使用Oracle GoldenGate,您可以跨企业中的多个异构系统移动已提交的事务。Oracle GoldenGate使您能够在 Oracle 数据库之间复制数据到其他受支持的异构数据库,以及在异构数据库之间复制数据。此外,您可以结合 Oracle GoldenGate for Big Data 复制到 Java 消息传递队列、平面文件和大数据目标。

应用场景

企业数据通常分布在整个企业的异构数据库中。要在不同数据源之间获取数据,您可以使用 Oracle GoldenGate 在企业内实时加载、分发和过滤事务,并在几乎零停机时间内实现不同数据库之间的迁移。

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

Oracle GoldenGate具有以下主要特性:

  • 数据移动是实时的,减少了延迟。

  • 仅移动已提交的事务,从而实现一致性并提高性能。

  • 支持不同版本的 Oracle 数据库以及在各种操作系统上运行的各种异构数据库。您可以将数据从 Oracle 数据库复制到不同的异构数据库。

  • 简单的架构和简单的配置。

  • 以最小的底层数据库和基础架构开销实现高性能

可以使用Oracle GoldenGate来满足以下业务需求:

业务连续性和高可用性

业务连续性是企业提供其功能和服务而不会出现任何运营中断的能力。高可用性是最高级别的容错能力。为了实现业务连续性,系统设计有多个服务器、多个存储和多个数据中心,以提供足够高的可用性来支持业务的真正连续性。要建立和维护这样的环境,需要在这些多台服务器和数据中心之间移动数据,这可以使用Oracle GoldenGate轻松完成。

假设您在一家总部位于英国伦敦的跨国银行工作。你在印度班加罗尔的一家银行分行工作。这家银行为其金融应用程序使用一个特定帐户,该帐户在全球所有分行都使用。您的经理已要求您每天将班加罗尔分行数据库中该帐户发生的交易与位于英国的中央数据库同步。交易量巨大,即使是最轻微的延迟也会对业务产生很大影响。对于全球所有银行分行的每个数据库,在多个目的地都需要同样的流程。必须持续监控这个过程,最好是通过某种基于 GUI 的工具,以便于管理。此外,该银行还有其他几个,在所有分支机构使用的非关键应用程序。这些应用程序基于异构数据库,例如 MySQL,但通过这些数据库完成的事务也必须加载到位于总部的 Oracle 数据库中。使用的复制技术必须同时支持 Oracle 和异构数据库,以便它们可以相互通信。在这种情况下, Oracle GoldenGate是一个合适的解决方案。

初始加载和数据库迁移

初始加载是从源数据库中提取数据记录并将这些记录加载到目标数据库的过程。初始加载是只执行一次的数据迁移过程。Oracle GoldenGate允许您在不使系统脱机的情况下执行初始加载数据迁移。

数据集成

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

OGG架构

可以配置许多不同的架构;范围从简单的单向架构到更复杂的对等架构。无论采用何种架构,Oracle GoldenGate都提供了它们之间的相似性,从而使管理更加容易。以下是OGG支持的企业应用拓扑

 Oracle GoldenGate支持两种架构,经典架构和微服务架构( MA )。他们的区别对比如下表

X经典建筑微服务架构

它是什么?

Oracle GoldenGate 经典架构提供跨各种拓扑有效移动数据所需的流程和文件。这些流程和文件构成了经典架构的主要组件,并且在此版本之前一直是产品设计。

Oracle GoldenGate 微服务架构是一种新的微服务架构,它提供支持 REST 的服务作为 Oracle GoldenGate 环境的一部分。支持 REST 的服务通过 HTML5 网页、命令行和 API 提供远程配置、管理和监控。

我应该什么时候使用它?

可以安装和配置 Oracle GoldenGate 以使用 Oracle GoldenGate 经典体系结构用于以下目的:
  • 从一个数据库中静态提取数据记录并将这些记录加载到另一个数据库。

  • 连续提取和复制事务数据操作语言 (DML) 操作和数据定义语言 (DDL) 更改(对于支持的数据库),以保持源数据和目标数据的一致性。

  • 从数据库中提取并复制到数据库外的文件。

  • 从异构数据库源中捕获。

可以安装和配置 Oracle GoldenGate 以将 Oracle GoldenGate 微服务架构用于以下目的:
  • 具有完全安全的 HTTPS 接口和用于流式数据的安全 WebSocket 的大规模和云部署。

  • 更简单地管理 Oracle GoldenGate 环境的多个实施,并控制用户对 Oracle GoldenGate 设置和监控不同方面的访问。

  • 支持系统管理的数据库分片以提供细粒度的多主复制,其中所有分片都是可写的,并且每个分片可以部分复制到分片组内的其他分片。

  • 支持以下功能:

    • 瘦客户端和基于浏览器的客户端

    • 网络安全

    • 用户授权

    • 分布式部署

    • 远程管理

    • 性能监控和编排

    • 与 Oracle 数据库环境中的其他系统和服务进行协调。

    • 将 Oracle GoldenGate 自定义嵌入应用程序或使用安全的远程 HTML5 应用程序。

操作模式从命令行配置和管理数据复制

支持哪些数据库?

根据 认证矩阵,经典架构支持所有受支持的数据库。 

MA 仅支持 Oracle 数据库。

这是支持的处理方法的列表。

数据库基于日志的提取(捕获)基于非日志的提取 (1)(捕获)复制(交付)

DB2 for i

不适用

不适用

X

DB2 LUW

X

不适用

X

DB2 z/操作系统

X

不适用

X

ORACLE DB

X

不适用

X

MySQL

X

不适用

X

SQL Server

X

X

X

Informix

不适用

不适用

X

脚注 1非基于日志的提取使用与 Oracle GoldenGate API 通信的捕获模块将更改数据发送到 Oracle GoldenGate。 

通用数据复制组件

无论是经典架构还是微服务架构,这些组件服务为OGG提供了基本的数据的提取和复制进程。

Extract(提取)进程:是Oracle GoldenGate的提取或数据捕获机制。配置为针对源数据库运行或配置为在下游挖掘数据库(仅限 Oracle)上运行的进程,其中捕获在其他位置的源数据库中生成的实时数据。

Trail文件: 是磁盘上的一系列文件,Oracle GoldenGate 在其中存储捕获的更改以支持数据库更改的连续提取和复制。

Replicat(复制)进程:是将数据传送到目标数据库的过程。它读取目标数据库上的跟踪文件,重构 DML 或 DDL 操作,并将它们应用于目标数据库。

Checkpoints(检查点)进程:将进程的当前读取和写入位置存储到磁盘以用于恢复目的。检查点确保标记为同步的数据更改实际上由 Extract 捕获并由 Replicat 应用到目标,它们可以防止冗余处理。 

经典架构及其组件

架构图

 经典架构中的基本组件

Manager 进程:是Oracle GoldenGate 的控制进程。在可以启动提取或复制进程之前,管理器必须在 Oracle GoldenGate 配置中的每个系统上运行。当 Extract 和 Replicat 进程正在运行时,Manager 还必须保持运行,以便执行资源管理功能。一个 Manager 进程可以控制多个 Extract 或 Replicat 进程。

Dump(数据泵)进程:是源Oracle GoldenGate配置中的辅助提取组。配置数据泵是可选的,但 Oracle 建议将其用于大多数配置。使用数据泵的一些原因包括:

  • 针对网络和目标故障的保护:在基本的 Oracle GoldenGate 配置中,目标系统上只有一条线索,源系统上没有任何地方可以存储 Extract 连续提取到内存中的数据操作。如果网络或目标系统不可用,Extract 可能会耗尽内存并异常终止。但是,通过源系统上的跟踪和数据泵,可以将捕获的数据移动到磁盘,从而防止主提取异常异常。当连接恢复时,数据泵从源路径捕获数据并将其发送到目标系统。

  • 您正在实施数据过滤或转换的多个阶段。在使用复杂的过滤或数据转换配置时,您可以配置一个数据泵在源系统或目标系统甚至中间系统上执行第一次转换,然后使用另一个数据泵或 Replicat 组执行第二个转变。

  • 将来自多个来源的数据整合到一个中心目标。将多个源数据库与中央目标数据库同步时,您可以将提取的数据操作存储在每个源系统上,并在每个系统上使用数据泵将数据发送到目标系统上的跟踪。在源系统和目标系统之间划分存储负载可减少目标系统上大量空间的需求,以容纳来自多个源的数据。

  • 将一个源与多个目标同步。向多个目标系统发送数据时,您可以在源系统上为每个目标配置数据泵。如果到任何目标的网络连接失败,数据仍然可以发送到其他目标。

Collector(采集器)进程:由 manager 进程启动,是一个在目标系统的后台运行的进程。它将事务数据重新组合成目标Trail。 

当 Manager 收到来自 Extract 进程的连接请求时,Collector 会扫描并绑定到可用端口,并将端口号发送给 Manager 以分配给请求的 Extract 进程。收集器还接收提取进程发送的捕获数据并将它们写入远程跟踪文件。

当需要网络连接时,管理器会自动启动收集器,因此Oracle GoldenGate用户不会与其交互。Collector 只能从一个 Extract 进程接收信息,因此您使用的每个 Extract 都有一个 Collector。当关联的 Extract 进程终止时,收集器终止。

GGSCI命令行交互接口,可以使用 GGSCI 发出配置、控制和监视 Oracle GoldenGate 的完整命令范围。 

微服务架构及其组件

机构图

微服务架构的基本组件:

Server Manager进程:充当微服务架构提供的其他服务的看门狗,管理本地主机上的一个或多个Oracle GoldenGate部署。

管理员Server进程:监督、管理、管理和监视在 Oracle GoldenGate 部署中运行的进程,包括活动和非活动进程。负责协调和编排数据提取、复制和路径,以支持更高的自动化和操作管理。它的操作和行为是通过发布的查询和服务接口来控制的。这些接口允许客户端使用支持 REST API 接口的 REST JSON-RPC 调用向管理服务器发出命令和控制指令。它包含一个嵌入式 Web 应用程序,您可以直接与任何 Web 浏览器一起使用,无需安装任何客户端软件。

Distribut(分发)进程:是一种服务,用作网络数据分发代理,以支持在分布式部署中传输和处理数据和命令。它是一个高性能应用程序,能够同时处理来自多个源Trail文件的多个命令和数据流。

Receive(接收)进程:是处理所有传入Trail文件的中央控制服务。它与分发服务器互操作,并为远程经典部署提供与经典架构泵的兼容性。 

分发和接收服务进程的拓扑

性能指标服务进程:使用指标服务来收集和存储实例部署性能结果。此度量收集和存储库与管理层信息收集是分开的。

Admin Client: 是一个命令行实用程序(类似于经典的 GGSCI 实用程序)。您可以使用它来发出配置、控制和监视 Oracle GoldenGate 的完整命令范围。 

支持矩阵

完整认证矩阵

以下是最常用的三种关系型数据库的支持矩阵 

OGG21数据库支持矩阵
产品版本操作系统数据库版本
OGG for MySQL21.1.0.0.1Oracle Linux 7/8, RHEL 7/8MySQL5.7, 8.0
OGG for MySQL21.3.0.0.1Oracle Linux 7/8, RHEL 7/8MySQL8.0
OGG for Oracle21.3.0.0.0Oracle Linux 7/8, RHEL 7/8Oracle11.2.0.4, 12.1.0.2, 19c, 21
OGG for Oracle21.3.0.0.1Microsoft Windows x64 (64-bit)Oracle11.2.0.4, 12.1.0.2, 19c, 21
OGG for PostgreSQL21.3.0.0.0Oracle Linux 7/8, RHEL 7/8PostgreSQL10, 11, 12, 13, 14
OGG for SQL Server21.3.0.0.0Oracle Linux 7/8, RHEL 7/8Microsoft SQL Server2014, 2016, 2017, 2019
OGG for SQL Server21.4.0.0.0Oracle Linux 7/8, RHEL 7/8Microsoft SQL Server2012.2019 (Linux)
OGG for SQL Server21.5.0.0.0Microsoft Windows x64 (64-bit)Microsoft SQL Server2019 (Linux)
OGG for SQL Server21.4.0.0.0Microsoft Windows x64 (64-bit)Microsoft SQL Server2012, 2014, 2016, 2017, 2019

OGG系列产品介绍

Oracle GoldenGate产品系列 中有许多产品。

  • Oracle GoldenGate Veridata: Oracle GoldenGate Veridata 将一组数据与另一组数据进行比较并识别不同步的数据,并允许您修复发现的任何不同步的数据。

  • 适用于 EMCC 的Oracle GoldenGate插件:适用于Oracle GoldenGate的企业管理器插件扩展了 Oracle Enterprise Manager Cloud Control,并为监视和管理Oracle GoldenGate流程提供了可视化支持。

  • Oracle GoldenGate Monitor: Oracle GoldenGate Monitor 是一个基于 Web 的实时监控控制台,可提供企业内所有 Oracle GoldenGate 实例及其关联数据库的一目了然的图形视图。

  • Oracle GoldenGate for Big Data: Oracle GoldenGate for Big Data 包含内置支持,可将Oracle GoldenGate跟踪记录中的操作数据写入各种大数据目标(例如 HDFS、HBase、Kafka、Flume、JDBC、Cassandra 和 MongoDB)。

  • Oracle GoldenGate应用程序适配器: Oracle GoldenGate应用程序适配器与Oracle GoldenGate核心产品的安装集成,以引入 Java 消息服务 (JMS) 信息或以 JMS 消息或文件的形式提供信息。

  • Oracle GoldenGate for HP NonStop (Guardian): Oracle GoldenGate for HP NonStop 使您能够跨各种异构应用程序和平台提取和复制选定的数据记录和事务更改,从而在事务级别管理业务数据。

  • Oracle GoldenGate Studio: Oracle GoldenGate Studio 使您能够通过自动处理表和列映射、允许拖放自定义映射、从模板生成最佳实践配置以及包含上下文相关帮助来设计和部署大容量实时复制。

相关推荐

相关文章