Jeff Dean的Stanford演讲
Google 公司的 Jeff Dean 在Stanford大学做了一个非常 精彩的演讲(视频未墙)。我觉得我们每一个人都应该去看一看这个视频,当然,没有字幕,需要不错的听力,当然,我不可能全部翻译出来,因为我也不是完全能听懂,下面是一些相关的Notes,供你参夸,并欢迎牛人指证。
- 比较了从1999年到2010年十年来的搜索量的变化。搜索量增加了 1000 倍,而搜索速度快了5 倍。1999年,一个网页的更新最多需要一个月到两个月,而今天,只需要几秒钟,足足加快了5w倍。
- 一开始,这些大量的查询产生了大约30GB的I/O量。2004年,他们考虑过全部重写infrastructure。
- 讨论了一些关于变量长度字节对齐的东西。
- 今天的MapReduce 有400万个作业,处理将近1000PB的数据,130PB的中间数据,还有45PB的输出数据。(1PB =1024TB)关于 MapReduce (Google云计算的精髓) 的一些统计,见下图:
- 现在Jeff正在做一个叫Spanner的项目,这是一个跨多个数据中心的项目。在后来的Q&A中,Jeff解释了现在的数据基本上都在各个数据中心中,数据在不同数据中心间的交换几乎不可能。所以,他们需要提供一些手动的方式或是一些工作或任务来达到数据共享。这其中还需要有一些策略配置,共同的namespace,事务处理,数据一致性等等工作。
- 最后一个段落应该是最精彩的,Jeff讲了很多很有意思的东西,绝对让你受用一生:
- 一个大型的系统需要分解成N多的小services.(这和Amazon的很相似,一个页面的调用可能要经过几百个后台的services)
- 代码的性能将会是想当的重要。Jeff给了一张叫“Numbers Everyone Should Know” 的slide,如下所示,我觉得太经典了,其中的东西,如果你看过我的那篇“给老婆普及计算机知识”,我想我不需要多解释了。(注:1 ns = 十亿分之一秒)
- 把相同的东西抽出来去建立一个系统,而不是把所有的事情交给所有的人。他说: “最后的那个功能可能会导致你怎么个系统超出了原有的复杂度”。
- 不要无限制地设计可扩展性。5倍到50倍的扩展性设计足够了。如果你要达到100倍的,那应该是re-arch了。
- Jeff很喜欢有中心主结点的架构体系,他并不喜欢分布式系统。当然,中心主结点主要是用来做控制的,而不是做数据或是计算服务的。
- J在一些小机器上运行多个小服务,而不在一个大机器上运行一个mongo作业。越小的单元就越容易处理,修复,负载均衡和扩展。(化繁为简)
- …… ……
这是一个非常不错的演讲,很让人开阔眼界。
最后,我想说说英文,很多程序员都很不喜欢英文,哎……怎么说呢?如果你今天对英文还很害怕的话,这只能怪我们的教育制度的失败。但如果你以此为借口的话,那只能怪你自己了。没有英文的能力,你的技术和认知仅限于中文圈中,而中文圈中基本上都是产商的文化。有人说,“功夫网”让我们的internet成为了局域网,而我想说,让我们成为局域网的不是那个墙,而是我们自己的世界观和英文能力。
(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)
《Jeff Dean的Stanford演讲》的相关评论
视频链接似乎有点问题?直接指到了一个asx文件上去?chrome不能解析,直接下载了。
视频链接火狐可以调用插件播放,但mplayer放不了?
工作增长速度如此之快
工作速度增长的真快
@matriz 应该是MIME关联的问题,我用Chrome,直接就打开Media Player 播放了。
点视频链接是下载而不能播放,求解答,3q。
今天没事做,想起来好几天没有过来了,就过来看看你了。
最后一段不错
最后一句不错
Exellent!
嗯,,说的很对。。
asx文件下载后可以直接使用暴风影音打开播放,类似于一段连接信息,是wma格式的视频。
挺不错的演讲. 下面这个版本是来自 Youtube 上面的:
titled: Building Software Systems At Google and Lessons Learned
link: http://www.youtube.com/watch?v=modXC5IWTJI