数据库读写分离方案及对比

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库读写分离方案及对比版本日期修改历史作者

目录

1概述 (3)

2背景 (3)

3数据库读写分离方案 (3)

3.1Oracle数据库几种常用的复制技术及特点 (3)

3.2异构数据库(Oracle+Mysql)+ GoldenGate (3)

3.2.1方案描述 (3)

3.2.2实现原理 (4)

3.3异构数据库(Oracle+Mysql)+ 其他复制技术 (6)

3.4同构数据库(Oracle)+ GoldenGate (6)

3.4.1方案描述 (6)

3.4.2实现原理 (7)

3.5同构数据库(Oracle)+ DataGuard (7)

3.6同构数据库(SqlServer2008 企业版) (7)

3.6.1实现原理 (8)

3.7同构数据库(Mysql5社区版) (8)

4方案对比 (9)

1概述

本文主要是描述SVC(统一客户视图)项目的数据库读写分离的几种解决方案及优缺点对比。2背景

为了能进一步提升SVC业务系统的服务质量水平、运行效率、系统健壮性稳定性及运行安全,信息中心提出了对SVC的架构进行调整升级,以满足目前及未来的建设需求。

为了缓解大并发的情况下对数据库造成的压力,方案中引入了缓存及数据库的读写分离的技术解决问题。这里针对数据库的读写分离方案有几种实现方式,这里主要是描述这几种方案,以及这几种方案的对比,最后根据具体的情况选择最适合的方案。

由于是比较重要的业务系统,数据量及访问量都比较大,数据的存储主要考虑Oracle、DB2、SQLServer等知名商业数据库厂商。考虑到实现的技术复杂度及运维难度这里主要推荐Oracle作为存储数据库。

3数据库读写分离方案

这里初步提议的数据库有两种,Oracle 11g与Mysql 5。

3.1O racle数据库几种常用的复制技术及特点

3.2异构数据库(Oracle+Mysql)+ GoldenGate

3.2.1方案描述

该方案使用的是异构数据库,其中主数据为Oracle双机热备,从数据库使用的是多台Mysql。主数据库可进行读写操作,主要是进行写操作,从数据库只能读操作。下面是该方案的逻辑架构图:

3.2.1.1主从数据库的高可用

为了避免单点问题,主从数据需要考虑高可用性,其中主数据库可以做双机热备,推荐使用RAC的方式。

对于从数据库的高可用性,有几种方法:

1、对每一个从数据库都作一个备份,当其中一个数据库宕机的时候,可以切换到另一个

备份的数据上,或者双机热备,目前这个技术上Mysql5已经支持。

2、从数据库可以互为备份,即一个数据库上存放两个或多个数据库的数据。当一台数据

库宕机后其他的数据库仍可以正常提供服务。

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 above

▪MySQL, Ingres

▪and any ODBC compatible databases

Windows 2000, 2003, XP

Linux

Sun Solaris

HP-UX

IBM AIX

HP NonStop

TRU64

IBM z/OS, LUW Golden Gate工作原理:

Golden Gate的工作模式:

3.3异构数据库(Oracle+Mysql)+ 其他复制技术

其他复制技术暂时不支持异构数据库的复制,对于异构的数据库的复制技术选择性很小。3.4同构数据库(Oracle)+ GoldenGate

3.4.1方案描述

该方案使用的是同构数据库,其中主数据为Oracle双机热备,从数据库使用的是多台Oracle。主数据库可进行读写操作,主要是进行写操作,从数据库只能读操作。下面是该方案的逻辑架构图:

3.4.1.1主从数据库的高可用

为了避免单点问题,主从数据需要考虑高可用性,其中主数据库可以做双机热备,推荐使用RAC的方式。

对于从数据库的高可用性,有几种方法:

1、对每一个从数据库都作一个备份,当其中一个数据库宕机的时候,可以切换到另一个备份

的数据上,或者双机热备,目前这个技术上可以做到动态数据源切换。

2、从数据库可以互为备份,即一个数据库上存放两个或多个数据库的数据。当一台数据库宕

机后其他的数据库仍可以正常提供服务。

3、当从数据库宕机的时候把数据源链接切换到主数据库上,这种方案在技术上实现是可行的。

也可以减少从数据库的数量,减少运维的难度及减少故障率。

4、使用共享存储方式,多个从数据库可以共享同一份数据文件,可以大大减少Golden Gate

的复制数据,减少延迟。

3.4.2实现原理

Golden Gate的实现与上面的实现原理相同,可参见3.2.2概述实现原理。

3.5同构数据库(Oracle)+ DataGuard

这个方案与方案3.4同构数据库(Oracle)+ GoldenGate类似,实现的方式也类似,他们的之间的区别主要是在GoldenGate与DataGuard工作方式。

3.6同构数据库(SqlServer2008 企业版)

该方案采用SqlServer2008企业版,使用SqlServer 2008的AlwaysOn技术实现读写分离。下面是该方案的逻辑架构图:

相关文档
最新文档