- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
云計算中几种基础设施的朴素看法
云计算中几种基础设施的朴素看法.txt一个人 一盒烟 一台电脑过一天一个人 一瓶酒 一盘蚕豆过一宿。永远扛不住女人的小脾气,女人 永远抵不住男人的花言巧语。 云计算中几种基础设施(Dynamo,Bigtable,Map/Reduce等)的朴素看法
前言
云计算的概念近期可谓如火如荼,备受关注。我先前听到“云”这个名词时,很是觉得太过玄乎——也不知道它用在哪里,更不了解它如何实现,总有雾里看花的感觉!
好在近期工作需要的缘故,学习和开发过类似于“云计算”基础设施的内部系统,之后再回过头来看看业界两大寡头(Google,Amazon)推出各自的云计算服务,从认识上才算是真的将“云”这个天书般的概念落实。后面的文章中我将在个人理解的基础上,针对云计算的概念,体系结构,以及适用性等方面作一些不算很深入分析和对比,希望对大家理解云计算架构有所帮助。
第一部分 什么是云计算
云计算的标准定义留给大家去Google吧,我这里谈谈我简化理解后的云计算是什么东东:先来看云计算的产生原因吧!——首要原因是为了应对待处理数据爆炸式增长与当今机器存储能力和计算能力不足之间的矛盾(借用一下我国当前基本矛盾的书法:)。由于待处理数据越来越多(不是用多少G就能描述的范畴了。想象一下假若要存储并计算数千万用户的访问日志,或者计算数亿个网页的Page Rank),多到了很难在一台或有限数目的存储服务器内容纳,且更无法由一台或数目有限的计算服务器就能处理这样的海量数据。—— 当然,你也许会想到买来漂亮的EMC存储阵列和HP的SUPERSTONE这样的小型机搞定一切,但是它们有点贵喽,这种砸钱的大家伙只能留给阔绰的银行、电信企业,或者国家气象局这些机构使用了—— 这时就需要能在普通机器(比如在中关村攒出的廉价PC)上分布式的存储这些数据,并能在其上分布式计算这些数据。你肯定会说,这不久是分布计算吗?没错,云计算可以说是经分布计算,并行计算,网格计算一脉相承的技术路线,甚至可以说它们基因相同。但它们的给人的外貌却不同,这是因为云计算是经过商业包装的名词,其实就是将分布存储和分布计算这种技术找了个盈利模式——将存储能力和计算能力出售给第三方企业。而第三方不需知道其数据到底存在那个机器上,也不需要知道那个机器在处理它们的数据,因此对它们来说数据在云端,计算也在云端,大约如此,才有了“云计算”这个概念。
目前出售云计算服务的有Amazon和Google两个业界老大(听说Oracle和APPLE也开始搞了,EMC似乎也有计划),出售的服务内容大体相同,盈利方式也大同小异(具体参看他们的网站的S3服务, EC2服务,或Google App Engine服务等)。它们技术架构虽有差异,但从概念上讲可把云计算看成是“存储云”结合“计算云”的有机结合,即“云计算 = 存储云 + 计算云”
第二部分 存储云的架构介绍
存储云概念
存储云依我看就是一个被商业包装过的分布存储系统——只不过它对第三方用户公开存储接口,用户可买容量和带宽,且规模相当宏伟的分布存储系统。关于商业模式问题我们就不多作探讨了,大家可到其网站上仔细瞧瞧。我这里的重点是对用于存储云的分布存储系统作对比分析。(不过假如你对存储云完全不了解,那我建议在看下面内容之前,先去读读相关的论文什么的介绍吧!以便我们的讨论事半功倍。)
存储云结构比较——Dynamo VS Bigtable
比较典型的存储云基础系统有Amazon公司的Dynamo系统与Google公司的Bigtable系统,这两种系统不但已经开始是商用(参见S3 服务和 Google App Engine服务),而且都公开了比较详细的实现论文(尤其dynamo系统论文格外详尽——可见Amazon公司的无私和自信)。它们各自实现架构迥异,存储特性不一,但都结构优美,技术上各有可称道的地方,可谓各有千秋,却又殊途同归。
下面我们将针对它们两者存储数据的要求、体系架构、扩容、负载均衡、容错、数据存取及查询等我觉得重要的方面进行一些点到为止分析比较,以辨明良莠。
数据结构化问题
首先要提到的是两者存储数据属性上的区别,虽然两者都是以key/value形式进行存储,但Dynamo偏向存储原数据,因为其所存储的数据是非结构化数据,对value的解析完全是用户程序的事情,Dynamo系统不识别任何结构数据,都统一按照binary数据对待;而Bigtable存储的是结构化或半结构化数据(web数据特点就是介于结构化和非结构化之间,因此称为半结构化数据。我这里不展开说它了,不了解半结构化数据的赶紧去google一下吧!),其value是有结构的数据——就如关系数据库中的列一般,因
文档评论(0)