转:Jeff Dean的Stanford演讲
生活随笔
收集整理的這篇文章主要介紹了
转: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成為了局域網,而我想說,讓我們成為局域網的不是那個墻,而是我們自己的世界觀和英文能力。
?
來自酷殼:http://coolshell.cn
轉載于:https://www.cnblogs.com/legendary/archive/2012/09/26/2704303.html
總結
以上是生活随笔為你收集整理的转:Jeff Dean的Stanford演讲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python连接redis时错误Inv
- 下一篇: 【转】一步一步学Linq to sql(