数据库读写分离

数据库读写分离
  

比较内容 数据库

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可调用OracleEXP/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的技术服务价格较高,且绝大部分状况仅能提供电话或邮件支持,如需现场服务,必须严格按照人天计算。

相关文章
相关标签/搜索