免费的晚餐--Google技术学习

标签: 免费 晚餐 google | 发表时间:2014-07-24 13:59 | 作者:bei79
出处:http://www.iteye.com

作者: 江南白衣,原文出处:  http://blog.csdn.net/calvinxiu/archive/2007/01/31/1498597.aspx

 

如果说Google的搜索引擎是免费的早餐,Gmail们是免费的午餐的话,

     http://labs.google.com/papers/ 就是Google给开发人员们的一份免费的晚餐。

    不过,咋看着一桌饭菜可能不知道从哪吃起,在自己不熟悉的领域啃英文也不是一件愉快的事情。

一、一份PPT与四份中文翻译 

    幸好,有一位面试google不第的老兄,自我爆发搞了一份Google Interal的PPT:

     http://cbcg.net/talks/googleinternals/index.html,大家鼠标点点就能跟着他匆匆过一遍google的内部架构。

   然后又有崮崮山路上走9遍( http://sharp838.mblogger.cn)与美人他爹( http://my.donews.com/eraera/),翻译了其中最重要的四份论文:

二、Google帝国的技术基石

     Google帝国,便建立在大约45万台的Server上,其中大部分都是"cheap x86 boxes"。而这45万台Server,则建立于下面的key infrastructure:

     1.GFS(Google File System):

     GFS是适用于大规模分布式数据处理应用的分布式文件系统,是Google一切的基础,它基于普通的硬件设备,实现了容错的设计与极高的性能。    

     李开复说:Google最厉害的技术是它的storage。我认为学计算机的学生都应该看看 这篇文章(再次感谢翻译的兄弟)。    
    

     它以64M为一个Chunk(Block),每个Chunk至少存在于三台机器上,交互的简单过程见:
     
     

     2.MapReduce

    MapReduce是一个分布式处理海量数据集的编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。像Grep-style job,日志分析等都可以考虑采用它。

    MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或者分布式系统的经验,就可以处理超大的分布式系统得资源。

     我自己接触MapReduce是 Lucene-> Nutch-> Hadoop的路线。
      Hadoop是Lucene之父Doug Cutting的又一力作,是Java版本的分布式文件系统与Map/Reduce实现。
     Hadoop的文档并不详细,再看一遍 Google这篇中文版的论文,一切清晰很多(又一次感谢翻译的兄弟)。    

     孟岩也有一篇很清晰的博客: Map Reduce - the Free Lunch is not over?

     3.BigTable

     BigTable 是Google Style的数据库,使用结构化的文件来存储数据。
     虽然不支持关系型数据查询,但却是建立GFS/MapReduce基础上的,分布式存储大规模结构化数据的方案。

     BigTable是一个稀疏的,多维的,排序的Map,每个Cell由行关键字,列关键字和时间戳三维定位.Cell的内容是一个不解释的字符串。
     比如下表存储每个网站的内容与被其他网站的反向连接的文本。
     反向的URL com.cnn.www( www.cnn.com)是行的关键字;contents列存储网页内容,每个内容有一个时间戳;因为有两个反向连接,所以archor列族有两列:anchor:cnnsi.com和anchhor:my.look.ca,列族的概念,使得表可以横向扩展,archor的列数并不固定。

   

    为了并发读写,热区,HA等考虑,BigTable当然不会存在逗号分割的文本文件中,,是存储在一种叫SSTable的数据库结构上,并有BMDiff和Zippy两种不同侧重点的压缩算法。

4.Sawzall

    Sawzall是一种建立在MapReduce基础上的领域语言,可以被认为是分布式的awk。它的程序控制结构(if,while)与C语言无异,但它的领域语言语义使它完成相同功能的代码与MapReduce的C++代码相比简化了10倍不止。

1    proto "cvsstat.proto"
2    submits: table sum[hour: int] of count: int;
3    log: ChangelistLog = input;
4    hour: int = hourof(log.time)
5    emit submits[hour] <- 1;

     
     天书吗?慢慢看吧。

     我们这次是统计在每天24小时里CVS提交的次数。
     首先它的变量定义类似Pascal  (i:int=0; 即定义变量i,类型为int,初始值为0)

     1:引入cvsstat.proto协议描述,作用见后。
     2:定义int数组submits 存放统计结果,用hour作下标。
     3.循环的将文件输入转换为ChangelistLog 类型,存储在log变量里,类型及转换方法在前面的cvsstat.proto描述。
     4.取出changlog中的提交时间log.time的hour值。
     5.emit聚合,在sumits结果数组里,为该hour的提交数加1,然后自动循环下一个输入。

     居然读懂了,其中1、2步是准备与定义,3、4步是Map,第5步是Reduce。

三. 小结:

  本文只是简单的介绍Google的技术概貌,大家知道以后除了可作谈资外没有任何作用,我们真正要学习的骨血,是论文里如何解决高并发,高可靠性等的设计思路和细节.....



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [免费 晚餐 google] 推荐:

免费的晚餐--Google技术学习

- - 企业架构 - ITeye博客
作者: 江南白衣,原文出处:  http://blog.csdn.net/calvinxiu/archive/2007/01/31/1498597.aspx. 如果说Google的搜索引擎是免费的早餐,Gmail们是免费的午餐的话,.      http://labs.google.com/papers/ 就是Google给开发人员们的一份免费的晚餐.

Google 搜索技巧免费大放送

- wwq0327 - 谷奥——探寻谷歌的奥秘
Google for Educators 是 Google 专门为学生和老师设立的教育频道,旨在协助老师拓展学生的眼界,告诉学生如何进行有效的信息检索. 最近,他们又放出大礼,将搜索的技巧和窍门制作成精良的海报,你只要进入这个页面,便可以下载到这些海报的PDF版,然后打印出来. 这些技巧和窍门可以帮助你更好的理解 Google 的网页搜索以及其产品.

12套超酷免费的Google+图标

- 罗磊 - 东西
  自从Google旗下的社交网站Google+在6月28日上线以后,其用户量不断上升. 根据美国家谱网站Ancestry联合创始人保罗·艾伦近日在其Google+帐户上公布的最新分析数据显示,截至周二Google+用户量已经达到1800万,但其增长率较峰值下降50%.    每个社交网站都有其对应的各种图标按钮,比如像Facebook的分享按钮、Twitter的按钮和StumbleUpon的按钮都有各自的特色.

谷奥: 限时免费:Tab for Google+ 让你在苹果菜单里运行 Google+

- Alex - 谷奥聚合——谷奥主站+谷安 aggregator
Tab for Google+ 是一枚免费的Mac应用,安装之后你随时随地都可以在系统菜单里看到Google+的按钮,其中有数字表示未读推送信息的条数. 点击按钮在弹出的对话框里可以进行大部分Google+的操作,包括管理圈子、查看个人介绍、查看信息流、查看图片、发信息流、查看推送通知等等. Tab for Google+现在限时免费,果粉+谷粉赶紧下手.

Google + 用户拥有更多的免费 Picasa 存储空间

- Stanley - 谷奥——探寻谷歌的奥秘
还记得之前 Picasa 的升级吗. 现在用户上传的尺寸不超过 800 x800 的图片和15分钟内的视频都不算在 Picasa 的存储空间中,换句话说你可以在 Picasa 中保存无限数目的小图片了. 对于 Google+ 用户来说,还有更好的消息:你们的免费图片尺寸可以高达 2048x2048.

Google 限制地图 API 调用次数,不再完全免费

- 钟伟 - ITeye资讯频道
今年4月Google宣布将在10月份对Google Maps API调用进行限制,现在已经有了初步方案:. 每天每个API最多25,000次调用. 每天最多2,500次自定义样式的API调用. Google近期会将Google Maps API加入Google APIs Console,届时开发者可以在里面查看详细调用数据,同时需要对自己的应用做出调整以保证不会超出限额.

让游戏在Google Play排最前的10个免费策略

- - 雷锋网
作为独立开发商,要想应用或游戏在Google Play靠前,恐怕是一件非常艰难的事情,也许成千上万的美元换不来一丝变化,不过,如果你知道这10个排名靠前的秘密,就有可能不会一分一文,让你的排名一跃而上. 这是理解游戏价值的关键,一个排名高的游戏对你游戏收入的影响是非常巨大的,至少每日安装量为15000才能进前20,每日25000的安装量才有可能进入前10名.

Google Reader猝死启示录:互联网无法永远免费

- - TechWeb 今日焦点 RSS阅读
Google Reader的突然死亡,让“互联网免费”的传统信念开始动摇.    导语:美国新闻资讯网站Slate撰稿人法哈德·曼舒(Farhad Manjoo)本周撰文称,Google Reader的关闭给所有人敲响了警钟:尽管互联网上的免费服务非常诱人,但没有什么东西会永远免费. 如果某一类软件非常重要,那么最好使用需要付费的产品.

被 Google 收购后的 Quickoffice for iPad 开始对 Google Apps 用户免费提供,iPhone 和 Android 版本就来

- - 谷奥——探寻谷歌的奥秘
Quickoffice for iPad在 被Google收购半年后的今天终于开始 在App Store里免费提供,但仅限Google Apps的用户,显然之前Google Apps取消免费版是有预谋的,因为等于可免费获得收费的Quickoffice也算在了增值服务里面. 顾名思义,Quickoffice for iPad允许你在iPad上打开并编辑任何保存在Google Drive里的Office文档,包括Excel、Word和PowerPoint.

Google带你走进世界博物馆 免费享受艺术之旅

- Edgar - cnBeta全文版
Google今天在首页下方新增了一项服务,可以让广大用户足不出户就走进世界各大博物馆,探索、欣赏无数的艺术品,并且以一种前所未有的角度通过缩放来近距离欣赏这些顶级艺术作品. 点击进入该页面后,你只要从主页选择任意一个博物馆然后选择游览博物馆或是欣赏艺术作品,进入主界面后你还可以使用下拉菜单和侧边信息栏在不同作品和博物馆之间进行切换,利用右下角的按钮你还可以在线创建并分享自己的收藏.