《叱咤风云GoldenGate企业级运维实战》第1章GoldenGate概述汇总Word文件下载.docx
《《叱咤风云GoldenGate企业级运维实战》第1章GoldenGate概述汇总Word文件下载.docx》由会员分享,可在线阅读,更多相关《《叱咤风云GoldenGate企业级运维实战》第1章GoldenGate概述汇总Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
与此同时,集成在Oracle数据库中的另外一项逻辑复制产品——DataGuardLogicalStandby也遭受了同样的命运。
Oracle对其产品线可整合能力可见一斑。
1.4GoldenGate支持的平台以及数据库
截止到笔者撰写本书为止,GoldenGate几乎支持市面上流行的所有主流操作系统平台和数据库。
在不同的平台生成的core文件,有不同的本地堆栈跟踪工具来分析见表1-1。
表1-1
数据库产品
操作系统
及平台
源端
目标端
OracleDatabase
所有源端支持的数据库
Windows2000、2003、XP、Server2008
MySQL
HPNeoview
Linux
IBMDB2
ETLproducts
OracleSlaris
MicrosoftSQLServer
JMSmessagequeues
HPNoStop
SybaseASE
Netezza
HP-UX
Ingres
及任何ODBC兼容的数据库
HP-TRU64
Timesten
HP-OpenVMS
Teradata
IBMAIX
Enscribe
IBMz/OS
SQL/MP
SQL/MX
目前经过GoldenGate11.1认证的主流数据库版本包括以下几种。
Oracle8i(只支持DML)。
Oracle9i以上所有的数据库版本(支持DML和DDL)。
IBMDB2UDB8.1、8.2、9.1、9.5以上版本(只支持DML)。
MicrosoftSQLServer2000、2005和2008(只支持DML)。
MySQL4.1、5.0(只支持DML)。
SybaseASE12.5.4、15.0(只支持DML)。
除Oracle数据库9i以上版本支持DDL以外,8i及其他数据库均不支持DDL。
其他经认证的操作系统及数据库版本请参见资料篇的列表。
1.5GoldenGate的定位
零宕机时间数据库升级和迁移。
满足用户亚秒级实时数据的需求。
可持续的数据高可用性和实时商务智能。
异构平台及跨操作系统实时数据同步。
对源系统和目标系统是非侵入式的。
1.6GoldenGate技术架构
和传统的逻辑复制一样,OracleGoldenGate实现原理是通过抽取源端的redolog或者archivelog,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。
图1-1是OracleGoldenGate的技术架构。
图1-1
1.6.1Manager进程
Manager进程是GoldenGate的控制进程。
如果把所有的Oracle进程比喻为军队,那么Manager就相当于司令。
Manager进程运行在源端和目标端上,它主要有以下几个方面的作用:
启动、监控、重启GoldenGate的其他进程,报告错误及事件,分配数据存储空间,发布阈值报告等。
每个源端或者目标端有且只能存在一个Manager进程。
其运行状态有两种即RUNNING(正在运行)和STOPPED(已经停止)。
在Windows系统上,Manager进程是作为一个服务来启动的,而在类UNIX系统中,Manager则是一个操作系统进程。
1.6.2Extract进程
Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。
在早期的GoldenGate版本中,它通常被称为Collect进程。
按照其所处的阶段不同,Extract的作用可以按照时间来划分。
初始数据装载阶段:
在初始数据装载阶段,Extract进程直接从源端的数据表中抽取数据。
同步变化捕获阶段:
初始数据同步完成以后,Extract进程负责捕获源端数据的变化(DML和DDL)。
Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到一个本地的trail文件。
这种机制是为了保证如果Extract进程终止或者操作系统宕机,重新启动Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。
Extract进程的状态包括STOPPED(正常停止)、STARTING(正在启动)、RUNNING(正在运行)、ABENDED(AbnomalEnd的缩写,表示异常结束)。
1.6.3Pump进程
Pump进程运行在数据库源端,其作用非常简单。
如果源端使用了本地的trail文件,那么Pump进程就会把trail以数据块的形式通过TCP/IP协议发送到目标端,这通常也是推荐的方式。
Pump进程本质是Extract进程的一种特殊形式,如果不使用trail文件,那么就是Extract进程在抽取完数据以后,直接投递到目标端。
与Pump进程相对应的叫做ServerCollector进程,这个进程不需要引起人们的关注,因为在实际操作过程中无需对其进行任何配置,所以对人们来说它是透明的。
它运行在目标端,其任务就是把Extract/Pump投递过来的数据块重新组装成trail文件,人们称之为远程trail文件。
1.6.4Trail文件
为了更有效、更安全地把数据库事务信息从源端投递到目标端,GoldenGate引进trail文件的概念。
前面提到Extract抽取完数据以后GoldenGate会将抽取的事务信息转化为一种GoldenGate专有格式的文件,然后Pump负责把源端的trail文件投递到目标端,所以源、目标两端都会存在这种文件,源端存放的trail文件叫本地trail文件,目标端存放的trail文件叫远程trail文件。
trail文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用checkpoint机制来记录其读写位置,如果故障发生,则数据可以根据checkpoint记录的位置来重传。
值得一提的是,trail文件并不总是必须的。
人们可以在配置Extract进程的时候通过TCP/IP协议直接把日志的信息投递到目标端。
但通常并不推荐这么做,因为一旦发生系统宕机或者网络故障,则有可能造成数据的丢失。
1.6.5Replicat进程
Replicat进程,通常也把它叫做应用进程。
运行在目标端,是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析为DML或DDL语句,然后应用到目标数据库中。
和Extract进程一样,Replicat也有其内部的checkpoint机制,保证进程重新启动后可以从上次记录的位置开始恢复,而无数据损失的风险。
它的运行状态和Extract进程一致,包括STOPPED、STARTING、RUNNING、ABENDED。
1.6.6GGSCI
GGSCI是GoldenGateSoftwareCommandInterface的缩写,它提供了十分丰富的命令来对GoldenGate进行各种操作,如创建、修改、监控GoldenGate进程等。
绝大部分的操作都是通过它来完成的。
当然如果您需要GUI方式的图形界面来管理,则需要购买GoldenGateDirector。
1.7GoldenGate的复制模式
GoldenGate的模式包括图1-2中描述的几种,其中“一对一”是GoldenGate最简单的一种模式,也是最常用的模式。
这种模式的一种典型应用就是用于数据容灾,通常源端数据库为生产端,目标端数据库为容灾端。
另外一种应用场景是把源端的OLTP系统产生的交易日志传送到目标端,使用BI数据仓库或者是OLAP。
图1-2
1.8各种应用模式展示
1.8.1高可用性:
Active-Active
高可用性:
Active-Active如图1-3所示。
图1-3
优点:
实现连续可用性。
实现事务加载和分布式(用内嵌的冲突检测)。
提高性能。
降低TCO。
1.8.2零宕机升降和数据迁移
零宕机升降和数据迁移如图1-4所示。
图1-4
在硬件,数据库,操作系统或是应用程序升级和数据迁移中消除计划宕机。
减小故障恢复应急风险。
提高用户迁移数据成功率。
1.8.3数据集成:
活动备份
数据集成:
活动备份如图1-5所示。
图1-5
使用实时数据更好更快的决策。
删除源端报告开销。
减少用户的需求和数据量的成本和规模的增长。
报表需求方面利用有效制度。
1.8.4商业智能
商业智能如图1-6所示。
图1-6
使用实时数据更好更快地决策。
消除批量窗口依赖关系。
减少源端开销。
维护数据质量参照完整性。
利用其灵活性转换和集成的ETL。
1.8.5事务性数据集成
事务性数据集成如图1-7所示。
图1-7
在事务处理系统很容易集成大量实时数据量。
减少开销,消除批量窗口。
提高可扩展性。
增强SOA和EDA环境(投递基于JMS的消息传递系统)。
1.9GoldenGate拓扑结构
GoldenGate有着比较灵活的拓扑结构,如图1-8所示。
1.10GoldenGate10g/11g新特性
(1)添加了在OracleE-BusinessSuite、OraclePeopleSoftandOracleJDEdwards等方面的解决方案。
(2)在OracleExadata数据库上支持更多的数据类型和导入模式。
(3)扩展了对异构的支持。
图1-8
基于日志的捕获,投递到IBMDB2v9.7。
具有投递到TimesTendatabases的天赋。
以JMS为基础的消息系统中捕获。
自动投递到IBM的DB2。
(4)降低了长事务交易中断所影响的恢复时间。
(5)增强了追踪事务的能力,更容易去排除性能瓶颈。
1.11GoldenGate的优势
目前在数据同步/数据复制市场中,除GoldenGate外,不乏优秀的产品,它们大部分都是基于redo或归档日志进行记录提取实现与源同步。
以下是OracleGoldenGate白皮书中列出的GoldenGate的优势见表1-2。
表1-2
移动
管理
集成
Speed
-SubsecondLatency
TransactionIntegrity
HeterogeneousDataSources
Volume
-ThousandsofTPS
TransactionCapture
Mapping
Log-basedCapture
GuaranteedDelivery
Transformation
Native,LocalApply
ConflictDetection,Resolution
Enrichment
EfficientI/OandBandwithUsage
DynamicRollback
DecoupledArchitecture
Bidirectional
IncrementalTDM
Table,Row,ColumnFiltering
GroupTransactions
InitialDataLoad
XML,ASCCI,SQLFormats
BulkOperations
GUI-basedMonitoringandConfiguration
QueueInterface
Compression
ProactiveAlerts
StoredProcedures
One-to-Many,Many-to-One
Encrption
UserExits
Cascade
Real-TimeDeferredorBatch
ETLIntegration
EventMarkers
Java/JMSIntegration
1.12GoldenGate应用情况
1.高可用性与容灾
容灾与应急备份。
消除计划内停机。
双业务中心。
OLTP和OLAP分开。
2.主数据数据库移植、升级
3.实时数据集成
数据仓库实时供给。
实时报表。
政府、企业垂直部门级数据同步。
主数据。