GoldenGate 基础架构

一.Goldengate 产品家庭

  • Goldengate:核心产品
  • Goldengate Director :现已更名为Goldengate Management Pack,为Goldengate提供友好的GUI配置管理界面。
  • Goldengate Veridata :为Goldengate源端和目标端提供数据比对和校验的功能

  注意:这三个产品并不是一个打包的产品,需分开单独购买

二.GoldenGate的技术架构

  和传统的逻辑复制一样,Oracle GoldenGate实现原理是通过抽取源端的redo log或者archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。下图展示了Oracle GoldenGate的技术架构。

2.1 Manager进程

  Manager进程是GoldenGate的控制进程。Manager进程运行在源端和目标端上,它主要有以下几个方面的作用:启动、 监控、重启GoldenGate的其他进程,报告错误及事件,分配数据存储空间,发布阈值报告等。 每个源端或者目标端有且 只能存在一个Manager进程。其运行状态有两种即RUNNING(正在运行)和STOPPED(已经停止)。

2.2 Extract进程

  Extract进程运行在数据库源端,负责从源端数据表或者日志中捕获数据。 在早期的GoldenGate版本中,它通常被称为 Collect进程。按照其所属的阶段不同,Extract的作用可以按照时间来划分:

  • 在初始数据装载阶段,Extract进程直接从源端的数据表中抽取所有数据。
  • 初始数据同步完成以后,Extract进程负责捕获源端数据的变化(DML和DDL)。

  Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到一个本地的trail文件。这 种机制是为了保证如果Extract进程终止或者操作系统宕机,重新启动Extract进程后,GoldenGate能够恢复到以前的状态, 从上一个断点处继续往下运行,而不会有任何数据损失。extract进程会优选online log。

  其运行状态包括STOPPED(正常停止)、STARTING(正在启动)、RUNNING(正在运行)、ABENDED(Abnomal End的缩写,表示异常结束)。

2.3 Pump进程

  Pump进程运行在数据库源端,其作用非常简单。 如果源端使用了本地的trail文件,那么Pump进程就会把trail以数据块的形式通过TCP/IP协议发送到目标端,这通常也是推荐的方式。  Pump进程本质是Extract进程的一种特殊形式,如果不使用trail文件,那么就是Extract进程在抽取完数据以后,直接投递到目标端。

  与Pump进程相对应的叫做Server Collector进程,这个进程不需要关注,因为在实际的操作中无需任何配置,所以它是透明的。它运行在目标端,其任务就是把Extract/Pump投递过来的数据块重新组装成trail文件,人们称之为远程trail文件。

2.4 Trail文件

  为了更有效的、更安全的把数据库事务信息从源端投递到目标端,GoldenGate引进trail文件的概念。前面提到的Extract抽取完数据之后,GoldenGate会将抽取的事务信息转化成的一种GoldenGate专有格式的文件,源、目标两端都会存在这种文件,源端存放的trail文件叫本地trail文件,目标端存放的trail文件叫远程trail文件。

  trail文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用checkpoint机制来记录其读写位置。如果故障发生,则数据可以根据checkpoint记录的位置来重传。 
 Trail文件并不总是必须的。人们可以在配置Extract进程的时候通过TCP/IP协议直接把日志的信息投递到目标端。但是并不推荐这么做,因为一旦发生系统宕机或者网络故障,则有可能造成数据的丢失。

2.5 Replicat进程

  Replicat进程,通常把它叫做应用进程。运行在目标端,是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析为DML或DDL语句,然后应用到目标数据库中。  和Extract进程一样,Replicat也有其内部的checkpoint机制,保证进程重新启动后可以从上次记录的位置开始恢复,而无数据损失的风险。  它的运行状态和Extract进程一致,包括STOPPED、STARTING、RUNNING、ABENDED。

三.GoldenGate的目录

时间: 2024-08-25 21:08:55

GoldenGate 基础架构的相关文章

【Windows】Windows Server 2008 R2:核心基础架构

核心基础架构 Windows Server提供了核心基础架构服务以支持网络的运行.Windows Server技术已经成熟了,其中的角色和功能也同样成熟了.Windows Server 2008 R2继续改进了核心基础架构服务,这些服务一直都是Windows Server的一部分,它们为我们的业务提供了一个稳固的基础.点击以下核心基础架构角色以了解更多: Active Directory(AD) 应用程序和Web服务 可用性和可量测性 备份和恢复-Windows Server Backup Br

在C7000+VMware vSphere5.5环境中的基础架构服务器部署实例

主题:使用HP C7000设备在VMware vSphere环境中部署企业高可用性基础架构服务器 目标:在C7000中使用BL460G8部署VMware vSphere服务器虚拟化方案,完成企业级高可用性基础架构服务. 硬件 1:1台HP C7000刀框 2:3台HP BL460G8服务器 3:2个HP Virtual Connect FlexFabric 10Gb/24-port Module 4:1台HP P4500存储 需要的图表 设计整体逻辑拓扑图 配置信息参数图表 IP地址规划图表 E

Web基础架构:负载均衡和LVS

在大规模互联网应用中,负载均衡设备是必不可少的一个节点,源于互联网应用的高并发和大流量的冲击压力,我们通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等). 一.负载均衡的作用 负载均衡设备的任务就是作为应用服务器流量的入口,首先挑选最合适的一台服务器,然后将客户端的请求转发给这台服务器处理,实现客户端到真实服务端 的透明转发.最近几年很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源.存储资源,由某台管理服务器封装成一个服务对外提供,客户端 不需

linux通用邻居基础架构

1.为每一个协议提供一个缓存来存放L3到L2的转换结果. 2.提供在缓存中添加.删除.改变和查找一个特定映射项的函数.查找函数必须要快,因为它会影响整个系统的性能. 3.为每一个协议缓存的数据项提供一种老化机制. 4.当缓存已满时并且正好要创建新的映射项时,提供选择替换策略. 5.为每一个邻居提供一个请求队列.当准备要发送一个封包并且其L2地址还不在地址缓存中是,就必须把这个封包放到缓冲区中,直到发出solicitation请求,并且收到应答.参见27章排队一节. 为了让每一种协议都适应邻居自系

微软云基础架构Hyper-scale Datacenter

每天醒来,可能很多人的习惯都是打开手机,看看微信,刷刷朋友圈,或者看看新闻,去咖啡店,打开电脑搜索一些关键字,观看视频,电视剧--可是你有没有想过你每一次键盘的敲击,每一次微信的语音的发送,数据会流向哪里,会怎么传播,我们怎么会快速的得到离我最近的餐厅信息?事实上,你所使用的所有这些服务,都运行在一个个的数据中心中,而数据中心正是信息世界中数据交换,流动,计算的心脏. 越来越多的大型IT公司将自己的数据中心和云端基础设施作为其重要的战略资产和核心竞争力的一部分,也有人可能看到过网上流出的goog

代码抄袭检测系统的设计和实现(1)--需求分析和基础架构

前言: 其实挺意外的, 最近和大学的老师联系, 得知4年前写的代码抄袭检测系统还在运行, 又惊又喜, 还以为早就替换升级了.  千百次回眸, 可惜界面依旧不给面子的简陋, 不过"金窝, 银窝, 不如自家的草窝", 脑补之后, 越看越帅气, ^_^!!. 让我们暂时抛开"娇俏动人"的web界面, 来谈谈背后"核心"的相似检测算法. 算法未必华丽, 效果未必惊艳, 但愿与大家一起分享, 与君共勉. 场景: 让我们来玩个游戏, 假设我们是懒得"

nodejs学习笔记_nodejs和PHP在基础架构上的差别--共享状态的并发

绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明确node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,:共享状态的并发. node採用一个长期执行的进程 而php在apache中会产生多个进程 例如以下图所看到的: 代码验证: PHP: <?php $i = 0; $i++; echo $i nodejs: var http = require('http'); var i=0; http.creat

【Nginx】Nginx基础架构

一.Nginx的架构设计 1)优秀的模块化设计 2)事件驱动架构 事件驱动架构是指由一些事件发生源来产生事件,由一个或多个事件收集器来收集.分发事件,然后许多事件处理器会注册自己感兴趣的事件,同时会消费这些事件. 对于Nginx而言,一般会由网卡.磁盘产生事件,事件模块将负责事件的收集.分发操作,而所有的模块都可能是事件消费者. Nginx采用完全的事件驱动架构来处理业务.对于传统web服务器而言,事件驱动往往局限在TCP链接建立.关闭事件上,一个连接建立以后,在其关闭之前的所有操作逗不再是事件

基于WinSrv2016(TP)构建的&ldquo;超融合基础架构&rdquo;

最近发现一个很热门的话题,国内的很多厂商也搞出了自己的"超融合基础架构服务器",那么什么是"超融合基础架构"呢? 超融合基础架构(Hyper-Converged Infrastructure,或简称"HCI")也被称为超融合架构,是指在同一套单元设备(x86服务器)中不仅仅具备计算.网络.存储和服务器虚拟化等资源和技术,而且还包括缓存加速.重复数据删除.在线数据压缩.备份软件.快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展