比较内容

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比较相关推荐

  1. RealSync Quest SharePlex 技术对比

    http://blogold.chinaunix.net/u3/115561/showart_2249177.html RealSync & Quest SharePlex 技术对比     ...

  2. 天津检验检疫局完成核心业务容灾备份系统建设

    近年来,天津检验检疫局全面落实科学发展观,在总局的大力支持下,各项工作取得重大进步.完成了以"三集中"为核心的业务模式改革.机构改革.事业单位改革为代表的三大改革,综合实力显著增强 ...

  3. oracle同步软件技术实现对比

    基于Oracle数据库的数据同步技术大体上可分为两类:Oracle自己提供的数据同步技术和第三方厂商提供的数据同步技术.Oracle自己的同步技术有DataGuard,Streams,Advanced ...

  4. Oracle数据同步

    温习一下Oracle中常说的HA.RAC.Datagurad的区别 简单的说 rac侧重于负载均衡 dg侧重于容灾  datagourd 双机侧重于业务的自动接管 关键看你的应用要求是什么样的 来进行 ...

  5. Oracle Stream配置详细步骤

    Oracle Stream配置详细步骤 作者: 杨宝秋, 出处:IT168 1 引言 Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Ad ...

  6. EnterpriseDB Replication,复制Oracle数据测试(1)

    EntepriseDB 复制软件目前支持多种数据库到postgre的复制,其基本结构由发布者(Publication)与订阅者(Subscriptions)组成,Replication软件可针对来自不 ...

  7. 企业面试遇到的问题02

    1.你们在数据库上有没有使用垂直分库和水平分库以及读写分离.说说你的理解以及使用场景 垂直分库 按列进行分割,即把一条记录分开多个地方保存,每个子表的行数相同. 把主码和一些列放到一个表,然后把主码和 ...

  8. 北京地税数据复制容灾方案_SharePlex应用

    用户概述 北京市地方税务局是主管北京市地方税收工作的市政府直属机构,于1994年8月15日正式成立.业务上接受×××的指导.它主要负责组织实施北京市各税(费)种的征收和管理(不包括已明确由国家税务机关 ...

  9. DSG RealSync VS. Quest Shareplex

    这个也不知道是从哪里转来的,我就记下我看到的url吧. 原址如下: http://replication.blog.51cto.com/222909/165446 DSG RealSync Quest ...

最新文章

  1. 高级工程考试通过总结
  2. git 错误 RPC
  3. uni-app内置地图轨迹_MIUI11 新增亲情守护,支持安全围栏、运动轨迹功能
  4. css中字体的大小怎么设置,css样式中怎么设置字体大小
  5. php获取海康的视频流,全平台RTMP组件EasyRTMP如何通过海康SDK获取视频流推送到RTMP流媒体服务器...
  6. 动态网站开发技术学习2:VS 2010制作作第一个简单示例网站
  7. 系统集成项目管理工程师各种口诀技巧分享(1)
  8. Shiro的Subject对象详解
  9. 又是白嫖Gitee的一天,PicGo+Gitee搭建图床,用过的都说真香!!!
  10. 赠书!《R语言数据分析与可视化从入门到精通》
  11. 这个团队做的事情,每天为美团平台带来50%以上的交易量
  12. SpringMVC在web.xml中配置DispatcherServlet拦截了静态资源访问
  13. VBA学习_4:运算符
  14. SFFAI分享 | 张杰:针对图像处理网络的模型水印【附PPT与视频资料】
  15. 二叉树的五种遍历方式
  16. 【云原生】Helm 架构和基础语法详解
  17. razer鼠标测试软件,那伽梵蛇2014版鼠标驱动及测试_雷蛇鼠标_键鼠评测-中关村在线...
  18. Zookeeper报错Will not attempt to authenticate using SASL解决办法
  19. vc c语言模拟机械时钟转动算法 -graphics.h,VC6.0n阶魔方矩阵算法刚学C语言老师让做一个程序,输入 爱问知识人...
  20. 前端代码规范(阿里) --- Javascript

热门文章

  1. Python生成Windows可执行exe文件
  2. Django和Ajax
  3. The python debugger(PDB)的简介
  4. LeetCode(16)题解--3Sum Closest
  5. Webservice初接触
  6. 窗体的Alpha通道透明色支持
  7. C#中listView列自动适应缩放的完美效果
  8. 冒泡、选择、插入排序算法
  9. oracle pl/sql 函数
  10. matplotlib包画基本的图