`
heavenslv
  • 浏览: 81228 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

分享:构建高可用性的Oracle架构

阅读更多

 

美国eBay高可用环境分析

eBay(www.ebay.com)是世界上最大的C2C电子商务网站,到2007年年底,该网站的注册用户数量达到2.48亿,并存有10亿张以上的图片,该网站每天要支撑10亿次的PV,有合计2P(1P=1024T)的数据量,这么庞大的一个系统,还能整体上保证99.94%以上的高可用性。

那么,eBay是怎样保证这么大的系统,还有这么高访问量的高可用呢,这里先看看他们的规模与高可用构架结构(见图1-22)。

l           为了支撑这么多的业务量,有16000台以上的Web服务器,运行J2EE,以及1000台以上的逻辑数据库分布在400个不同的物理主机上,实现了良好的水平扩展性,每天的SQL执行量超过了440亿次。

l           数据库运行在Oracle上,应用服务器采用websphere。每个数据库至少有3个在线的备份,分布在8个不同的数据中心。数据库中没有存储过程,只有少量的触发器,把很多 CPU密集型的任务从数据库迁移到Web服务器上,因为数据库更容易成为瓶颈,而Web服务器是廉价可扩展的。数据库采用多点复制,可负载均衡,不采用分布式事务。

l           应用构架方面,采用连接池,应用层采用多层结构。eBay最大的成功在于解决了两个关键性的技术:分布式的数据库与实时的Search。

可以看到,eBay最核心的技术就是分布,首先Web服务器是分布的,存在16000台以上的Web服务器,相对于比较集中的数据库来说,Web服务器更容易扩展。为了保证数据库的负载最小,eBay采用了很多策略,把负载从数据库转移到可扩展的Web服务器上。

在数据库上面,eBay是先把数据库按照应用在一定程度上垂直分割,然后采用sheard plex水平分割,实现读写分离的分布策略。数据库分布在多个数据中心,应用通过数据层与负载均衡设备访问数据库,根本不必要关心数据库的位置在哪里。

另外,因为数据分布在多个数据中心,而这些数据中心并不在一个地点,也就实现了数据的容灾保护。当写站点发生故障的时候,只要切换到其他一个备用站点即可。

1.6.2  Myspace构架分析

上面分析了eBay的案例,再来看另外一个案例,那就是Myspace(www.myspace.com),从目前的情况来看,Myspace的月访问量超过400亿,并超越了YAHOO。

Myspace采用的是Ms SQL Server,但是,能做到这么好的性能与访问量,是很不容易的,这里分析一下它的高可用发展历程。

u          读写分离分布技术

Myspace最初只有两台老式的Web服务器与一个Dell 双CPU,4GB内存的PC Server数据库服务器,数据库是SQL Server。当2004年Myspace有50万用户的时候,数据库服务器实在不能满足当时的需求,Myspace采用3台SQL Server服务器,一个为主,所有的数据都向它提交,再由它复制到另外两个数据库上,实现了最简单的读写分离。

u          垂直分割技术

在2004中,Myspace用户达到1~2百万,存储成为当时最大的瓶颈,因为IO的响应时间过长,导致用户无法完成自己的请求。这个时候,Myspace对数据库采用垂直分割的技术,不同的数据库运行不同的业务,存储也采用了SAN存储网络技术,提高了系统的性能与可靠性。

u          水平分割技术

在用户越来越多的情况下,当用户继续增加到3百万后,采用以上垂直分割的技术也出现了问题,如一项单独的业务在一个数据库中都可能成为瓶颈。最初为了适应单个业务的增长,Myspace采用了更好的机器,但是,更好的机器并不能解决数据量增长问题,马上又达到新的瓶颈。这个时候,Myspace采用了分布计算与水平分割技术,按照用户进行水平分割,一个数据库大致保存200万个左右的用户以及对应用户信息。

u          虚拟化技术与Cache技术

水平分割解决了数据库主机的问题,但是,有些特定数据库上的用户可能数据量特别巨大,但是有些数据库上的用户数据量可能又很小,导致存储设备使用严重不均衡。这个时候,Myspace采用了3PARdata的虚拟化存储技术,让存储设备统一管理,这样整个SAN被当作一个巨大的存储池,不再要求某个特定的存储设备为特定应用服务。

当用户越来越多,压力越来越大,Myspace启用了新的策略以减轻存储系统的压力,增加数据缓存层——位于Web服务器和数据库服务器之间,其在内存中建立被频繁访问的数据副本,以前100个用户查询同一数据,需要查询数据库100次,现在只需要1次。如果页面变化,缓存中的数据将从内存中擦除,然后重新从数据库获取。

现在,Myspace已经超过2600万用户,设备已升级到SQL Server 2005版,因为可以支持64位系统,这样可以支持更大的内存,2006年后每台机器的标准配置是64GB内存。

从以上的情况来看,Myspace采用了高可用环境中的必需的几项技术:

首先就是分布式计算架构,包括应用与数据库,先是简单的读写分离,当读写分离不能适应需要的时候,采用了垂直分割技术,当垂直分割技术也不能适应需要的时候,最后采用了按照用户水平分割的技术。

然后,当存储过于分散的时候,存储系统出现了空间与负载使用的不均衡,他们又采取了虚拟存储的策略,把所有的存储整合成一个存储池,解决了存储设备使用不均匀的问题。

最后,当分布技术与虚拟存储也解决不了问题的时候,Myspace采用了Cache技术,这个才是它最终能承载那么大流量的关键,Cache技术可以快速地响应请求,大大地减少数据库压力。


分享到:
评论

相关推荐

    构建最高可用Oracle数据库系统

    从硬件和软件两个维度系统且全面地讲解了Oracle11g R2RAC的架构、工作原理、管理及维护的系统理论和方法,以及性能优化的技巧和最佳实践,能为构建最高可用的Oracle数据库系统提供有价值的指导。它实践性非常强,...

    《构建最高可用Oracle数据库系统》.part2

    《构建最高可用Oracle数据库系统(Oracle11gR2RAC管理维护与性能优化)》从硬件和软件两个维度系统且全面地讲解了Oracle11g R2RAC的架构、工作原理、管理及维护的系统理论和方法,以及性能优化的技巧和最佳实践,能为...

    《构建最高可用Oracle数据库系统》.part3

    《构建最高可用Oracle数据库系统(Oracle11gR2RAC管理维护与性能优化)》从硬件和软件两个维度系统且全面地讲解了Oracle11g R2RAC的架构、工作原理、管理及维护的系统理论和方法,以及性能优化的技巧和最佳实践,能为...

    《构建最高可用Oracle数据库系统》.part1

    《构建最高可用Oracle数据库系统(Oracle11gR2RAC管理维护与性能优化)》从硬件和软件两个维度系统且全面地讲解了Oracle11g R2RAC的架构、工作原理、管理及维护的系统理论和方法,以及性能优化的技巧和最佳实践,能为...

    构建最高可用Oracle数据库系统:Oracle 11gR2 RAC管理、维护与性能优化

    Oracle 11gR2 RAC管理、维护与性能优化》从硬件和软件两个维度系统且全面地讲解了Oracle 11g R2 RAC的架构、工作原理、管理及维护的系统理论和方法,以及性能优化的技巧和最佳实践,能为构建最高可用的Oracle数据库...

    构建Oracle高可用环境:企业级高可用数据库架构、实战与经验总结.pdf

    《构建Oracle高可用环境:企业级高可用数据库架构、实战与经验总结》共分为五篇,依次为高可用性篇、数据处理篇、性能优化篇、系统维护篇和监控体系篇,其中对管理Oracle高可用数据库的讲解尤为细致,在帮助您学习...

    官方资料:利用Oracle选件构建最大高可用架构数据中心.pdf

    官方资料:利用Oracle选件构建最大高可用架构数据中心 Oracle最大高可用架构• 利用Oracle RAC构建本地高可用数据中心架构• 利用Oracle GoldenGate构建异地容灾环境 业务连续性• RAC, RAC One Node, GoldenGate, ...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    6.2 Oracle高可用性连接组件 6.2.1 SCAN别名 6.2.2 SCAN监听器 6.2.3 SCAN解析 6.2.4 SCAN兼容性配置 6.2.5动态注册与负载均衡 6.2.6 SCAN配置信息 6.2.7 SCAN VIP与节点VIP 6.2.8 CLUSTER_INTERCONNECTS...

    构建Oracle高可用环境_Part2

    《构建0racle高可用环境:企业级高可用数据库架构、实战与经验总结》共分为五篇,依次为高可用性篇、数据处理篇、性能优化篇、系统维护篇和监控体系篇,其中对管理Oracle高可用数据库的讲解尤为细致,在帮助您学习...

    Oracle数据库最大可用性体系结构

    包括网络、系统、数据库等,都已经考虑了可用性,但 是作为用户,无论是IT的经理人、架构设计师、系统管理员还是数据库管理员都会发现他们很难完成各分散系统的集成以构建一个统一的高可用性方案以适应他们 ...

    oracle_10g高可用性

    企业已经使用其信息技术 (IT) 基础架构来提供竞争优势、提高生产率并使用户能够做出更快和更知情...构建一个高可用性 IT 基础架构对于所有希望在当今瞬息万变的经济环境中立于不败之地并取得成功的企业而言都至关重要。

    2013 Oracle 技术嘉年华演讲PPT汇总下载

    2013 Oracle技术嘉年:Oracle Database 12c 数据库云的最大高可用架构_华高景强.pdf 2013 Oracle技术嘉年:Oracle, MySQL Or NoSQL?_简朝阳.pdf 2013 Oracle技术嘉年:Taming Big Data with Analytics_Edward Roske...

    Oracle 10g 网格数据库研讨会33个PPT下载

    Oracle真正应用集群的成功:可扩展性、低成本和高可用性 基于Asianux的Oracle:企业基础架构平台 简化工作-自动存储管理 将Oracle数据库扩展到移动环境 利用Oracle基于传感器的服务系统最大限度地提高RFID的...

    Oracle 融合中间件中文产品技术白皮书(非常有价值)

    赢得竞争:为什么高可用性对中小企业至关重要 (PDF) 如何提高中小型企业的员工生产力 (PDF) 支付改革之路 (PDF) 针对原有企业应用程序的大型机重新托管解决方案 (PDF) 敏捷性革命:通过面向服务的体系结构进行业务...

    Oracle Advanced PL/SQL Developer Professional Guide

    Gupta是一位经验丰富的数据库技术专家,在设计高性能和高可用性数据库应用程序方面拥有丰富的经验。他的技术重点集中在Oracle数据库架构,Oracle云平台,数据库内存,数据库整合,多租户,Exadata,大数据和Hadoop...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    11.5.2 通过Keepalived搭建LVS高可用性集群系统 11.5.3 通过piranha搭建LVS高可用性集群 11.6 测试高可用LVS负载均衡集群系统 11.6.1 高可用性功能测试 11.6.2 负载均衡测试 11.6.3 故障切换测试 11.7 ...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    本书适合所有希望构建和管理高性能、高可用性的mysql数据库系统的开发者和dba阅读。 目录 · · · · · · 前言 第一部分 mysql5.5 新特性篇 第1章 mysql5.5介绍 2 1.1 性能上的显著改变 2 1.1.1 mysql5.5默认...

    Oracle_Database_11g完全参考手册.part3/3

     使用Oracle实时应用群集(RAC)优化可用性和可扩展性 内容提要 《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL...

    Oracle_Database_11g完全参考手册.part2/3

     使用Oracle实时应用群集(RAC)优化可用性和可扩展性 内容提要 《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL...

    数据中台技术架构设计方案.pptx

    同时,需要建立数据服务管理体系,对数据服务进行监控和管理,确保数据服务的稳定性和可用性。 六、数据安全 数据安全是数据中台的重要保障,需要建立完善的数据安全体系,包括数据加密、数据备份、数据访问控制等...

Global site tag (gtag.js) - Google Analytics