Quest 公司的Shareplex 与 GoldenGate比较
2012-08-01 16:51:12
———————————————————————————————————————————————————————————————————————————————————————
比较内容
Quest SharePlex for Oracle
Oracle GoldenGate
产品成熟度
SharePlex产品最早发布于1999年,目前的版本为7.0.2,产品成熟度非常高;成熟的产品有效地保障了数据的安全性,避免产品不稳定性对复制环境的影响,10多年来在全球有近1000个大型客户的成功案例。在中国大陆地区有超过80个的成功案例。Shareplex在多个用户环境中运行多年时间,复制链路非常稳定。
GoldenGate主要面向不同数据库之间的数据复制和同步,在Oracle数据库之间的复制并非其业务的主要方面。
目前 GoldenGate在全球约有几百个成功案例,在国内有不超过10个客户,其中还有多个用户未能实施。根据GoldenGate在国内的部分用户反映,该产品在复制过程中经常出现中断或数据丢失等故障,需要大量的维护工作。
产品实现原理
Shareplex通过从Oracle日志读取数据库的所有变化信息,传输到目标数据库解析成SQL进行装载,整个过程严格遵守数据一致性的顺序,在目标数据库通过主键技术保障数据一致性。SharePlex对复制中的表是否有主键或唯一索引以及主键级别补充日志没有硬性要求,且所有数据均可由日志中捕捉出来,包括所有DDL操作,不需要从数据库中查询任何业务数据,也不需要创建人和触发器。
GoldenGate通过从Oracle日志读取数据库的所有变化信息,传输到目标数据库解析成SQL进行装载,其复制过程要求所有复制中的表必须有主键或唯一索引,同时要求打开主键级别的补充日志。GoldenGate在复制Blob等特殊类型时,无法Redo文件中获取全部信息,必须通过访问被复制的表中数据或回滚段才能完成捕捉工作,而在业务繁忙的数据库中回滚段数据更新非常快,GoldenGate经常会因此无法实现数据复制。
安装及配置
安装及配置极为简单,所有步骤均由软件提示操作,如果出现误操作将无法继续,从技术上确保了操作过程的准确性,安装后仅需要两个步骤即可以开始数据的复制。
安装配置复杂,安装后开始数据复制需要近20个步骤才可完成。且在配置过程中,如果出现错误或者遗漏步骤,不会有任何提示,很可能会造成复制软件的实施失败。
初始化同步
SharePlex在同构平台上可采用与Oracle备份恢复相结合的方式实现数据的在线初始化同步,同步过程中对生产系统数据库没有任何影响。初始化同步时间约等于数据库恢复时间。在异构环境下,SharePlex可调用Oracle的EXP/IMP工具,实现在线的初始化同步,同步期间系统资源占用可控制在10%以内。同步时间约等于全库进行IMP的时间,在同步过程中,还可通过调整并行度等方式,提高同步速度。
GoldenGate提供了在同构平台上可采用与Oracle备份恢复相结合的方式实现数据的在线初始化同步,同步过程中对生产系统数据库没有任何影响。初始化同步时间约等于数据库恢复时间。但初始化同和开始复制的过程中,GoldenGate不会对元数据库加锁,仅仅通过指定从某一个日志开始复制,如果此时数据库中有长时间未提交的事务跨了多个日志,就会导致GoldenGate在目标端丢失该事务的数据。在异构环境下,GoldenGate无法提供在线的初始化同步功能,必须在应用停止的情况下实现数据的初始化同步。
对生产系统性能影响
SharePlex复制软件在复制过程中完全在Oracle外部实现复制,对数据库性能影响极低,同时,捕捉到的数据在网络正常的情况下,直接通过内存和网络传输到目标系统,无需额外的磁盘I/O,最大程度的降低了对生产系统性能的影响。
GoldenGate对部分特殊数据类型需要从数据库表中查询才能复制,DDL操作也需要通过触发器来捕捉,并非真正意义的日志捕捉复制方案;同时捕捉到的数据必须先写在本地文件系统,然后再以文件的形式传输到目标端,对生产系统和目标系统都有额外的磁盘I/O占用。
复制过程中对数据的校验
复制过程中可校验数据是否一致,如果发现不一致,可在日志文件中进行记录,并将发生不一致问题具体的SQL语句记录到专门的文件里,同时将有问题的表标示为不易之状态,提供详细的诊断信息,以便用户及时解决,避免更多的错误数据。
目标端为了追求复制的性能,没有数据一致性交验机制,即使有大量数据不一致,也无法发现,用户不能及时了解复制链路的运行情况。数据错误累积下去,会引起相关应用的故障。
复制软件的异常处理
SharePlex通过多种机制来保障复制过程中的数据安全性,包括在出现复制软件、数据库、操作系统,主机等故障情况下恢复,通过复制软件本身,和在目标数据库中记录的信息,可充分保障出现以上各种意外故障后,能准确、迅速的恢复,没有任何数据损失。
GoldenGate为了追求数据复制的性能,对复制过程中的数据缺乏必要的保障机制,且由于没有在数据中记录最后完成复制的事务SCN号等信息,如果出现复制软件、数据库、操作系统,主机等故障,很容易造成数据损失,导致数据不一致,这一问题可通过极为简单的测试模拟并反复再现。
数据比较
SharePlex提供的在线的数据比较功能,如果怀疑发生部分数据不一致,可在应用不停机,且被比较的表上有操作的情况下动态的比较并定位不一致的数据,还可选择在线的自动修复,充分保障数据的一致性。
GoldenGate的数据比较模块与其复制模块之间没有任何联系,无法保障在应用不停机的情况下实现动态的数据比较功能。另外,其数据比较需要单独的服务器,并需要额外购买该模块才可实现。未提供自动修复功能,需手工进行数据的修复,手工修复过程中可能会导致新的数据不一致问题。
单表同步
SharePlex 提供了方便的单表在线同步工具,仅需要一个命令,即可在线实现新增复制表或不一致表的在线同步,对业务没有任何影响。
GoldenGate无单表同步工具,如需要对复制内容中的表进行重新同步,必须先将该表放到肚子的复制队列,并通过手工方式确认该表上没有为提交事务,然后才能开始同步步骤;整个同步过程约需要20几个步骤才可完成,极其复杂繁琐。
支持的数据类型
SharePlex目前已经支持所有的Oracle数据类型,对应用程序没有限制。
支持数据类型较少,不支持如Bfile,UDT等类型。且对部分特殊字段如Blob,Clob等类型必须要通过访问复制的表来获取数据,无法通过日志捕捉来实现。
DDL操作的支持
支持绝大部分DDL操作的复制,简化了维护的工作量,所有DDL操作均从日志中捕捉。
仅支持少数几个DDL操作的复制,绝大部分操作需要人工的维护。切对DDL操作的复制需要在生产数据库创建触发器实现,并非基于日志捕捉的复制(Golden宣称它们在数据库中不需要创建任何对象,实际并非如此)。
对RAC环境的支持
SharePlex支持所有平台的RAC环境,且当产品安装的RAC节点出现故障后,可通过Cluster软件自动切换到另一个节点继续复制,不需要人工干预,且不会有任何数据损失
支持RAC环境下的数据复制,但如果产品安装的RAC节点出现故障,复制链路无法实现自动的切换,在进行人工干预后,虽然可以继续复制,但每次切换都会有一定程度的数据损失。必须重新同步数据才可以充分保障数据的一致性。
技术细节
产品的成熟度是由细节决定的,Shareplex从用户方面进行考虑,非常关注技术细节。如:
(1)DDL可以选择复制或不复制,可以选择在复制出错后的处理方法;
(2)提供多种配置参数供用户选择;
(3)可以配置延迟复制
(4)可以忽略针对指定事务或用户复制
(5)可以按照用户,表,或者使用通配符配置复制关系
(6)可以穿过主流的网闸设备,并提供专门的功能设置网络配置……
GoldenGate主要面向不同数据库之间的复制,对Oracle数据库之间的复制功能比较简单,除了基本的复制外,其他辅助功能较少,无法根据用户实际应用环境实现个性化的配置及功能。
复制性能
SharePlex在目标端采用了多线程的方式实现对数据的加载,在保证所有事务的先后顺序以及一致性的基础上,对大并发量的业务也同样可保证高速的处理速度。
Goldengate由于仅复制已经提交的事务,所以在目标端只有使用单线程的情况下,才可以满足事务一致性的要求,而在处理大量并发交易的情况下,无法保障数据的处理速度,GoldenGate也提供了多通道的方式来实现并行,但使用多通道方式的情况下,会将源端的一个事物,在目标端分成多个事务,且无法保证各事务的提交顺序与源系统相同,从而无法从根本上保证数据的一致性。
大事务支持
事务开始后就进行复制,无论大事务或者小事务都可保证数据复制的实时性,所有事务与源端完全一致
事务提交后才开始进行复制,在大事务情况下延迟较大。
灾难恢复后的数据库回切
SharePlex提供从容灾数据库到生产数据库的反向复制,可将接管后容灾数据库上的变化复制回生产数据库,操作极其简单,不需要重新初始化同步,可实现接近零停机时间的计划内维护。
无法提供迅速回切功能,需要把生产系统数据库全部清空,在用容灾数据库进行重新初始化同步,风险较大。
产品维护及监控
Shareplex提供成熟的手段进行复制链路的监控和维护
(1) 用户可通过shareplex控制台查看数据复制的各种相关信息,并设定个性化的参数以实现特定的功能,管理方便灵活。
(2) 可使用自带的图形监控程序,查看相关信息,当发生意外情况时可通过电子邮件实现及时的报警。
(3) 通过丰富的日记记录复制软件的运行情况;
(4) 内置支持SNMP功能,可与多种监控平台结合,实现数据复制的实施监控(使用SNMP方式)
(5) 支持电子邮件报警功能,可根据客户指定的测略,对复制软件运行情况通过电子邮件通知用户。
提供了图形化监控界面,但同样需要购买额外的模块才可实现。不支持电子邮件及SNMP方式的报警。
技术服务
Quest在国内有完善的服务体系,经验丰富的技术人员为用户提供实施和培训等全面服务。用户还可以通过Quest专业知识库等技术资源和完备的技术手册来学习和掌握产品技术。
Quest有专门的Shareplex全球技术支持中心,为全球用户提供7*24的技术支持。
原GoldenGate厂商由于公司规模所限,无法提供7*24小时的技术支持,只能在美国的工作时间内提供有限的电子邮件支持。被Oracle收购之后,目前尚未完成相关技术资源的整合,在中国地区没有熟悉该产品的技术人员。Oracle的技术服务价格较高,且绝大部分情况仅能提供电话或邮件支持,如需现场服务,必须严格按照人天计算。
Quest 公司的Shareplex 与 GoldenGate比较的更多相关文章
- Oracle Stream配置详细步骤
1 引言 Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication.Oracle Stream利用高级队列技 ...
- Oracle Stream 同步数据
1 引言 Oracle官方网: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10727/strmover.htm ...
- 阐述 QUEST CENTRAL FOR DB2 八罪
作为一个从事oracle plsql发展2猿 - 年计划,现在,在退出DB2数据仓库项目. 同PL/SQL Developer参考,下文PLSQL,阐述QUEST CENTRAL FOR DB2 5. ...
- Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试
本文是本人前一段时间做一个简单Java监控工具调研总结,主要包括VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,以及对Java微基准测试的简单介绍, ...
- 常用自动化测试工具介绍(支持B/S、C/S)
一.功能测试工具1.QTP测试工具 全名HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 11.0 QTP是qui ...
- 【转】 关于data factory的介绍——即如何快速生成大批量数据
上次在我的博客中讲述了quest公司的spotlight系列软件,这次来扯淡一下quest公司的另一测试辅助软件 datafactory(数据工厂),顾名思义,数据工厂是生产数据的,主要应用领域是性能 ...
- [指南] 15分钟学会MySQL(Linux版)
原文链接:http://www.mysqlpub.com/thread-348-1-1.html 原创出处:MySQLpub.com , 作者:kider ,转载请注明作者和出处,并不能用于商业用 ...
- [原创]SpotLight性能监控工具使用介绍
[原创]SpotLight性能监控工具使用介绍 1 Spotlight工具是什么? SpotLight 是由Quest公司出品的一款第三方性能监控的图形化工具.SpotLight有一些的产品诸如可以 ...
- RemoteFX
RemoteFX 编辑 RemoteFX是微软在Windows 7/2008 R2 SP1中增加的一项桌面虚拟化技术,使得用户在使用远程桌面或虚拟桌面进行游戏应用时,可以获得和本地桌面一致的效果. 外 ...
随机推荐
- VMware虚拟机安装centos7
镜像下载地址:http://www.linuxdown.net/ 在vmware上开始安装CentOS系统,点击菜单新建虚拟机,进入如下图步骤进行操作. 接着进行自定义硬盘操作 最后虚拟机就创 ...
- AudioRecord 录制播放PCM音频
AudioRecord 与 MediaRecorder 区别 AudioRecord 基于字节流录制,输出的是pcm数据,未进行压缩,直接保存的pcm文件不能被播放器识别播放. 可以对音频文件进行实时 ...
- IntelliJ IDEA搭建Spring Boot 2 项目入门
之前都是用Eclipse,今天试了下IntelliJ IDEA,搭建了一个Spring Boot 2的Hello world项目. 一.IntelliJ IDEA 下载安装 官网下载:https:// ...
- linux学习(三)输入输出重定向和管道功能、cat命令、more命令
目录 输入输出重定向 输出重定向 管道功能 cat命令 more命令 @(输入输出重定向和管道功能) 输入输出重定向 输入重定向可以让用户将某个文件作为输入设备,输出重定向可以把某个文件作为输出设备, ...
- MySQL数据库:基本操作及增删改查语句
基本语法&&操作语句 create(创建) alter(更新) drop(删除) 一次性删除一个表中所有的数据 包括日志 truncate table 表名; 选中或者使用该数据库 说 ...
- LRU hashMap(拉链) + 双向链表 java实现
//基于 hash (拉链法) + 双向链表,LRUcache //若改为开放寻址,线性探测法能更好使用cpuCache public class LRU { private class Node { ...
- vue项目中引入特殊字体
特殊字体指的是默认电脑中没有的 1.下载字体 2.新建文件夹font,把字体放进去 3.新建font.css 4.使用@font-face设置字体 @font-face { font-family: ...
- COM 编程基础
DirectX 采用了 COM 标准.而 DirectShow 是一套完全基于 COM 的应用系统.要想深入学习 DirectShow,掌握一些 COM 编程的基础知识是必不可少的. 一.COM 是什 ...
- 利用Runtime对Ivar实例变量进行共用的归档和解档方式
一.介绍 在OC中每一个对象持有的变量都是实例变量,实例变量包括成员变量和属性变量,在runtime中用Ivar表示对象的实例变量.其实,runtime源码中可以看到,Ivar也是一个结构体(基本上在 ...
- 感受一把面试官通过一道题目引出的关于 TCP 的 5 个连环炮!
面试现场:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式什么顺序下载?建 ...