数据库读写分离方案及对比_第1页
数据库读写分离方案及对比_第2页
数据库读写分离方案及对比_第3页
数据库读写分离方案及对比_第4页
数据库读写分离方案及对比_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库读写分离方案及对比版本日期修改历史作者目 录1概述32背景33数据库读写分离方案33.1Oracle数据库几种常用的复制技术及特点33.2异构数据库(Oracle+Mysql)+ GoldenGate33.2.1方案描述33.2.2实现原理43.3异构数据库(Oracle+Mysql)+ 其他复制技术63.4同构数据库(Oracle)+ GoldenGate63.4.1方案描述63.4.2实现原理73.5同构数据库(Oracle)+ DataGuard73.6同构数据库(SqlServer2008 企业版)73.6.1实现原理83.7同构数据库(Mysql5社区版)84方案对比91 概述

2、本文主要是描述SVC(统一客户视图)项目的数据库读写分离的几种解决方案及优缺点对比。2 背景为了能进一步提升SVC业务系统的服务质量水平、运行效率、系统健壮性稳定性及运行安全,信息中心提出了对SVC的架构进行调整升级,以满足目前及未来的建设需求。为了缓解大并发的情况下对数据库造成的压力,方案中引入了缓存及数据库的读写分离的技术解决问题。这里针对数据库的读写分离方案有几种实现方式,这里主要是描述这几种方案,以及这几种方案的对比,最后根据具体的情况选择最适合的方案。由于是比较重要的业务系统,数据量及访问量都比较大,数据的存储主要考虑Oracle、DB2、SQLServer等知名商业数据库厂商。考虑

3、到实现的技术复杂度及运维难度这里主要推荐Oracle作为存储数据库。3 数据库读写分离方案这里初步提议的数据库有两种,Oracle 11g与Mysql 5。3.1 Oracle数据库几种常用的复制技术及特点名称厂商特点价格(参考)DataGuardOracle可以同步复制Oracle自带GoldenGateOracle双向复制、异构数据库、图形界面200,000StreamOracleSQL转换ShareplexQuestsql语句复制(非交易)iReflectDataMirrorOracle认证、图形界面DDSDDS双向复制、SQL转换、图形监控3.2 异构数据库(Oracle+Mysql)

4、+ GoldenGate3.2.1 方案描述该方案使用的是异构数据库,其中主数据为Oracle双机热备,从数据库使用的是多台Mysql。主数据库可进行读写操作,主要是进行写操作,从数据库只能读操作。下面是该方案的逻辑架构图:3.2.1.1 主从数据库的高可用为了避免单点问题,主从数据需要考虑高可用性,其中主数据库可以做双机热备,推荐使用RAC的方式。对于从数据库的高可用性,有几种方法:1、 对每一个从数据库都作一个备份,当其中一个数据库宕机的时候,可以切换到另一个备份的数据上,或者双机热备,目前这个技术上Mysql5已经支持。2、 从数据库可以互为备份,即一个数据库上存放两个或多个数据库的数据

5、。当一台数据库宕机后其他的数据库仍可以正常提供服务。3、 考虑当从数据库宕机的时候把链接切换到主数据库上,这种方案在技术上实现比较困难,代价大,主要是受异构数据库因素影响,不同类型的数据库的SQL语句不能交叉执行,另外受到项目使用到的技术(Hibernate)制约,不支持异构数据库的切换。这方法基本是不可行的。3.2.2 实现原理Golden Gate支持的数据库及运行环境:数据库操作系统抽取: Oracle DB2 OS/390 DB2 UDB Microsoft SQL Server Sybase Enscribe SQL/MP SQL/MX Teradata投递: All listed

6、above MySQL, Ingres and any ODBC compatible databases Windows 2000, 2003, XPLinuxSun SolarisHP-UXIBM AIXHP NonStopTRU64IBM z/OS, LUWGolden Gate工作原理:Golden Gate的工作模式:3.3 异构数据库(Oracle+Mysql)+ 其他复制技术其他复制技术暂时不支持异构数据库的复制,对于异构的数据库的复制技术选择性很小。3.4 同构数据库(Oracle)+ GoldenGate3.4.1 方案描述该方案使用的是同构数据库,其中主数据为Oracle双

7、机热备,从数据库使用的是多台Oracle。主数据库可进行读写操作,主要是进行写操作,从数据库只能读操作。下面是该方案的逻辑架构图:3.4.1.1 主从数据库的高可用为了避免单点问题,主从数据需要考虑高可用性,其中主数据库可以做双机热备,推荐使用RAC的方式。对于从数据库的高可用性,有几种方法:1、 对每一个从数据库都作一个备份,当其中一个数据库宕机的时候,可以切换到另一个备份的数据上,或者双机热备,目前这个技术上可以做到动态数据源切换。2、 从数据库可以互为备份,即一个数据库上存放两个或多个数据库的数据。当一台数据库宕机后其他的数据库仍可以正常提供服务。3、 当从数据库宕机的时候把数据源链接切

8、换到主数据库上,这种方案在技术上实现是可行的。也可以减少从数据库的数量,减少运维的难度及减少故障率。4、 使用共享存储方式,多个从数据库可以共享同一份数据文件,可以大大减少Golden Gate的复制数据,减少延迟。3.4.2 实现原理Golden Gate的实现与上面的实现原理相同,可参见3.2.2概述实现原理。3.5 同构数据库(Oracle)+ DataGuard这个方案与方案3.4同构数据库(Oracle)+ GoldenGate类似,实现的方式也类似,他们的之间的区别主要是在GoldenGate与DataGuard工作方式。3.6 同构数据库(SqlServer2008 企业版)该方

9、案采用SqlServer2008企业版,使用SqlServer 2008的AlwaysOn技术实现读写分离。下面是该方案的逻辑架构图:3.6.1 实现原理下面是SqlServer 2008使用AlwaysOn技术实现读写分离的原理示意图:3.7 同构数据库(Mysql5社区版)该方案采用的是Mysql5社区版,使用Mysql5的Master-Slave的方式进行读写分离。下面是该方案的逻辑架构图:4 方案对比方案优点缺点价格(参考)推荐度异构数据库Oracle+Mysql+GoldenGate1)减少Oracle实例数节省费用2)GoldenGate分表复制效率高1)Mysql节点数量大2)运

10、维复杂度高,技术要求高3)两套SQL4)主数据库不能作为failover的数据库Oracle+RAC热备+GoldenGate=5,000,000(1CPU)异构数据库Oracle+Mysql+ 其他复制技术-1)没有其他成熟的异构数据库复制产品可用-同构数据库Oracle+GoldenGate1)主数据库可以作为failover的数据库2)可以减少从数据库的数量3)只要主数据库不宕机所有业务可以正常运行4)实现共享存储,避免从数据库出现数据不同步的问题5)没有异构数据库SQL的问题1)Oracle实例多费用高2)GoldenGate分表复制特性应用不上Oracle+RAC热备+GoldenGate+6台Oracle标准版价格=6,000,000(1CPU)同构数据库Oracle+DataGuard1)主数据库可以作为failover的数据库2)可以减少从数据库的数量3)只要主数据库不宕机所有业务可以正常运行4)实现共享存储,避免从数据库出现数据不同步的问题5)没有异构数据库SQL的问题1)Oracle实例多费用高Oracle+RAC热备+DataGuard +6台Oracle价格=6,000,000(1CPU)同构数据库SqlServer2012 企业版1)数据库本身提供整体的解决方案2)节省其他复制软件费用的支

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论