《2022年数据库读写分离方案及对比终版》由会员分享,可在线阅读,更多相关《2022年数据库读写分离方案及对比终版(10页珍藏版)》请在金锄头文库上搜索。
1、数据库读写分离方案及对比版本日期修改历史作者名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 目 录1概述 . 32背景 . 33数据库读写分离方案 . 33.1Oracle 数据库几种常用的复制技术及特点 . 33.2异构数据库( Oracle+Mysql )+ GoldenGate . 33.2.1方案描述 . 33.2.2实现原理 . 43.3异构数据库( Oracle+Mysql )+ 其他复制技术 . 63.4同构数据
2、库( Oracle)+ GoldenGate . 63.4.1方案描述 . 63.4.2实现原理 . 73.5同构数据库( Oracle)+ DataGuard . 73.6同构数据库( SqlServer2008 企业版) . 73.6.1实现原理 . 83.7同构数据库( Mysql5 社区版) . 84方案对比 . 9名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 1 概述本文主要是描述SVC(统一客户视图) 项目的数据
3、库读写分离的几种解决方案及优缺点对比。2 背景为了能进一步提升SVC 业务系统的服务质量水平、运行效率、 系统健壮性稳定性及运行安全,信息中心提出了对SVC 的架构进行调整升级,以满足目前及未来的建设需求。为了缓解大并发的情况下对数据库造成的压力,方案中引入了缓存及数据库的读写分离的技术解决问题。这里针对数据库的读写分离方案有几种实现方式,这里主要是描述这几种方案,以及这几种方案的对比,最后根据具体的情况选择最适合的方案。由于是比较重要的业务系统,数据量及访问量都比较大,数据的存储主要考虑Oracle、DB2、SQLServer 等知名商业数据库厂商。考虑到实现的技术复杂度及运维难度这里主要推
4、荐Oracle 作为存储数据库。3 数据库读写分离方案这里初步提议的数据库有两种,Oracle 11g 与 Mysql 5 。3.1Oracle 数据库几种常用的复制技术及特点名称厂商特点价格(参考)DataGuard Oracle 可以同步复制Oracle 自带GoldenGate Oracle 双向复制、异构数据库、图形界面200,000 Stream Oracle SQL转换Shareplex Quest sql 语句复制(非交易)iReflect DataMirror Oracle 认证、图形界面DDS DDS 双向复制、 SQL转换、图形监控3.2异构数据库( Oracle+Mysq
5、l )+ GoldenGate 3.2.1方案描述该方案使用的是异构数据库,其中主数据为Oracle 双机热备,从数据库使用的是多台Mysql。主数据库可进行读写操作,主要是进行写操作, 从数据库只能读操作。下面是该方案的逻辑架构图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 3.2.1.1主从数据库的高可用为了避免单点问题,主从数据需要考虑高可用性,其中主数据库可以做双机热备,推荐使用RAC 的方式。对于从数据库的高可用
6、性,有几种方法:1、对每一个从数据库都作一个备份,当其中一个数据库宕机的时候,可以切换到另一个备份的数据上,或者双机热备,目前这个技术上Mysql5 已经支持。2、从数据库可以互为备份,即一个数据库上存放两个或多个数据库的数据。当一台数据库宕机后其他的数据库仍可以正常提供服务。3、考虑当从数据库宕机的时候把链接切换到主数据库上,这种方案在技术上实现比较困难,代价大,主要是受异构数据库因素影响,不同类型的数据库的SQL语句不能交叉执行,另外受到项目使用到的技术(Hibernate)制约,不支持异构数据库的切换。这方法基本是不可行的。3.2.2实现原理Golden Gate 支持的数据库及运行环境
7、:数据库操作系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 抽取 :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 L
8、inux Sun Solaris HP-UX IBM AIX HP NonStop TRU64 IBM z/OS, LUW Golden Gate 工作原理:Golden Gate 的工作模式:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 3.3异构数据库( Oracle+Mysql )+ 其他复制技术其他复制技术暂时不支持异构数据库的复制,对于异构的数据库的复制技术选择性很小。3.4同构数据库( Oracle)+ Gold
9、enGate 3.4.1方案描述该方案使用的是同构数据库,其中主数据为Oracle 双机热备,从数据库使用的是多台Oracle。主数据库可进行读写操作,主要是进行写操作, 从数据库只能读操作。下面是该方案的逻辑架构图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 3.4.1.1主从数据库的高可用为了避免单点问题,主从数据需要考虑高可用性,其中主数据库可以做双机热备,推荐使用RAC 的方式。对于从数据库的高可用性,有几种方法:
10、1、 对每一个从数据库都作一个备份,当其中一个数据库宕机的时候,可以切换到另一个备份的数据上,或者双机热备,目前这个技术上可以做到动态数据源切换。2、 从数据库可以互为备份,即一个数据库上存放两个或多个数据库的数据。当一台数据库宕机后其他的数据库仍可以正常提供服务。3、 当从数据库宕机的时候把数据源链接切换到主数据库上,这种方案在技术上实现是可行的。也可以减少从数据库的数量,减少运维的难度及减少故障率。4、 使用共享存储方式,多个从数据库可以共享同一份数据文件,可以大大减少Golden Gate的复制数据,减少延迟。3.4.2实现原理Golden Gate 的实现与上面的实现原理相同,可参见3
11、.2.2 概述实现原理。3.5同构数据库( Oracle)+ DataGuard 这个方案与方案3.4 同构数据库( Oracle)+ GoldenGate 类似,实现的方式也类似,他们的之间的区别主要是在GoldenGate 与 DataGuard 工作方式。3.6同构数据库( SqlServer2008 企业版)该方案采用SqlServer2008 企业版, 使用 SqlServer 2008 的 AlwaysOn 技术实现读写分离。下面是该方案的逻辑架构图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
12、- - - - - - 第 7 页,共 10 页 - - - - - - - - - 3.6.1实现原理下面是 SqlServer 2008 使用 AlwaysOn 技术实现读写分离的原理示意图:3.7同构数据库( Mysql5 社区版)该方案采用的是Mysql5 社区版, 使用 Mysql5 的 Master-Slave 的方式进行读写分离。下面是该方案的逻辑架构图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 4 方案对
13、比方案优点缺点价格(参考)推荐度异构数据库Oracle+Mysql +GoldenGate 1)减少 Oracle 实例数节省费用2)GoldenGate 分表复制效率高1)Mysql 节点数量大2)运维复杂度高, 技术要求高3)两套 SQL 4 ) 主 数 据 库 不 能 作 为failover的数据库Oracle+RAC 热备+ GoldenGate =5,000,000 (1CPU) 异构数据库Oracle+Mysql + 其他复制技术- 1) 没有其他成熟的异构数据库复制产品可用- - 同构数据库Oracle+GoldenGate 1 ) 主 数 据 库 可 以 作 为failover
14、的数据库2) 可以减少从数据库的数量3) 只要主数据库不宕机所有业务可以正常运行4)实现共享存储, 避免从数据库出现数据不同步的问题5) 没有异构数据库SQL的问题1)Oracle 实例多费用高2)GoldenGate 分表复制特性应用不上Oracle+RAC 热备+ GoldenGate + 6 台 Oracle 标准版价格=6,000,000 (1CPU) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - 同构数据库Orac
15、le+DataGuard 1 ) 主 数 据 库 可 以 作 为failover的数据库2) 可以减少从数据库的数量3) 只要主数据库不宕机所有业务可以正常运行4)实现共享存储, 避免从数据库出现数据不同步的问题5) 没有异构数据库SQL的问题1)Oracle 实例多费用高Oracle+RAC 热备+ DataGuard + 6 台 Oracle 价格=6,000,000 (1CPU) 同构数据库SqlServer2012 企业版1) 数据库本身提供整体的解决方案2) 节省其他复制软件费用的支出1) 应用的成功案例相对较少2)问题解决缺少积累,出现问题解决比较困难3)性能比 Oracle 稍低4 ) Java应 用 少 采 用SqlServer数据库5) 绑定 Windows操作系统Windows+ SqlServer2012企业版 *8 大客户节省费用=3,000,000 (1CPU) 同构数据库Mysql5 社区版1)节省费用1) 社区版维护技术要求高免费名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -