分享

云计算的思维:谷歌三篇论文评价及中文版下载

nettman 发表于 2013-11-14 00:11:49 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 12682
面对大数据,云计算爱好者,想必需要了解一下云计算的思维,那么就需要读一下谷歌的三篇论文。
这三篇其实都是解决大数据量,分布式处理的问题。说穿了,都没什么技术难点,也无啥革命性的技术创新,但系统实现起来绝对不简单。这个难度,体现在工程实现上的困难。
健壮的系统总是结构简单规则简单的,用冗余的数据提高效率,增加健壮度。
GFS 是另两个系统的基础,它最底层利用本地文件系统提供原子操作,而不是自己解决。这可以简化系统复杂度,我们在设计系统时就应该尽量简化每个层次上代码完成的工作。与之类似的,我在设计我们的游戏服务器架构的时候,数据储存一块没有使用标准数据库,而是依赖于内存与本地文件系统,也是基于这种考虑。
GFS 采用了单点的 master 调控全局,这样可以做出非常简单的设计。但是需要极度减轻加在其上的工作,最终让 client 在真正获取数据的时候不必直接和它通讯。我非常认同这一点,有时候设计一个单点总控的单元并非不合理。我们已经实现的登陆服务器就是这样的,用户只有一个登陆认证点,但认证完毕后不再需要保持连接。
整个系统中,其实可以有许多单元是单点的。只需要减轻其上任务的复杂度,往往都是可堪负荷的。至于单点故障的问题,在底层设计上可以允许发生错误并重试,而系统能够快速重启就够了。当然,并非系统所有的部分都适用,有些地方,相互备份的模块是必须的。
BigTable 满有意思的。我认为当初做出设计的最难点是合理的提出需求,把需求简化到最小的单位,然后就最基本的需求来实现和优化,得到一个高性能的分布式结构化数据存储方案。
比如完全的关系数据模型就是不必要的,但是版本控制就有必要。复杂的数据类型是没有必要的,只需要储存字符串就够了。合理的需求自然需要大量的实践经验来总结,而需求的合理则可以做出极大的性能优化。实现者最清楚怎样的需求能最大限度的优化;实践者最清楚哪些需求是合理的,必须的,哪些则是不重要的,可放弃的。我们对系统设计者的要求就是即有丰富的实践经验,又有足够的能力自己做实现。这样才能做出优秀的系统来。
最后说说 MapReduce ,原理不复杂。就是把大部分可分布式任务完成的要点提取出来:即数据分割、分布式叠代处理、去掉冗余的计算结果、结果合并。效率的提高在于冗余处理,用廉价的机器计算能力来减轻系统设计的复杂度。系统则专注于解决数据传输、分割、合并这些简单逻辑的高效实现上。并实现数据定位和数据运算的正交化。
想要看谷歌的三篇论文,下面给大家分享一下:
中文版三篇下载:
http://pan.baidu.com/s/13lTaL

这是英文版
http://blogoscoped.com/archive/2005-10-23-n61.html

加微信w3aboutyun,可拉入技术爱好者群

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条