Google內(nèi)部有一個私有的網(wǎng)站提供了一系列的關(guān)于Jeff Dean --- 這位Google最早的雇員之一以及這個網(wǎng)絡(luò)巨人為什么比網(wǎng)上其他的機構(gòu)能夠承載更多流量的原因---的一些事情。這個網(wǎng)站只向Google員工開放,但是所有人都被鼓勵向這個網(wǎng)站添加他們知道的關(guān)于Jeff Dean的事跡。很多人都提交了他們所知道的。
關(guān)于Jeff Dean的真相出現(xiàn)在2007年的愚人節(jié)。
“有一次在1秒鐘之內(nèi)驗證第203個斐波那契數(shù)的測試中,Jeff Dean沒有通過圖靈測試”, 有一條寫到
“Jeff Dean在提交代碼之前編譯并運行了他的代碼”, 另一條寫到, “但是只是檢查編譯器和CPU的bug“
“光在真空中的傳播速度曾經(jīng)是35英里/時”, 另一條寫到, “于是Jeff Dean花了一個周末來優(yōu)化物理學(xué)“
不, 這些“真相”比不是事實。 但是他們聽上去很真實。 愚人節(jié)在Google是一個神圣的節(jié)日, 像所有的愚人節(jié)笑話一樣,插科打諢總是圍繞著事實周圍。 一個叫Kenton Varda的Google員工建立了這個網(wǎng)站,playing off the satirical Chuck Norris facts that so often bounce around the net( 這句話實在不知道咋翻譯)。 當他把鏈接通過郵件發(fā)給公司其他人的時候,他隱藏了自己的蹤跡。但是一會他就收到了Jeff Dean的提示消息,Jeff已經(jīng)從Google的服務(wù)器日志里找到了他留下的電子足跡,從而追蹤到他。
在Google內(nèi)部,Jeff Dean被認為是威嚴的。 在公司外部, 很少有人聽過他的名字。 但是他們應(yīng)該知道。 Dean是Google構(gòu)建起基礎(chǔ)軟硬件架構(gòu)一個工程師小組一員, 這些架構(gòu)使Google為web上有統(tǒng)治力的公司, 他們的發(fā)明創(chuàng)造酷似網(wǎng)上其他如雷貫耳的名字。
時光荏苒,我們再一次的回憶起施樂公司帕克研究中心(以下直接用 Xerox PARC, 不再翻譯)硅谷實驗室在PC的進化史上發(fā)明了幾乎每一件的主要技術(shù)的往事,從用戶圖形界面、激光打印機到以太網(wǎng)和面向?qū)ο缶幊獭5怯捎趃oogle如此謹慎小心, 其最新的數(shù)據(jù)中心技術(shù)一直和競爭者分開---同時也因為像Jeff Dean這樣工程師并不是自我夸耀的人 ---- google在現(xiàn)代計算領(lǐng)域的基礎(chǔ)工作的影響并不為人所知。Google就是云計算時代的 Xerox PARC
”某段時間,當貝爾實驗室和Xerox PARC這樣的地方將要滅亡的時候,google很大一部分的工作就是招攬這些世界上最聰明的研究人員“。 Mike Miller,一位華盛頓大學(xué)粒子物理學(xué)合聘教授及 Cloudant(一家致力于開展研究google提出的技術(shù)的公司)的首席科學(xué)家!彼粌H搶奪他們的科學(xué)家, 而且搶奪賴以生存的生命之血“
這些google的技術(shù)不是你用雙手你能hand住的---甚至無法裝進書桌。 他們并不是運行在一部手機或者PC上。 他們運行在數(shù)據(jù)中心連接起來的互聯(lián)網(wǎng)中。
這些技術(shù)包括席卷軟件平臺的比如 Google文件系統(tǒng),MapReduce, Bigtable, 這些發(fā)明通過將一個任務(wù)分解成小塊,然后分配到上千臺機器中運行(就像蟻群協(xié)同工作一樣)來驅(qū)動大量的在線應(yīng)用。 同時他們采用了Google最新設(shè)計的用來跟他們的軟件一起工作的服務(wù)器,網(wǎng)絡(luò)設(shè)備, 數(shù)據(jù)中心。他們的想法是建立一個看起來就像單臺計算機的數(shù)據(jù)倉庫式的計算設(shè)備。 就像蟻群工作起來像一個整體,google的數(shù)據(jù)中心也是這樣
當硅谷被社會網(wǎng)絡(luò)和觸屏設(shè)備的爆發(fā)所驚恐的時候,Google重造了這些現(xiàn)象背后的一些基礎(chǔ)的東西。 很快,當其他互聯(lián)網(wǎng)巨頭碰到了在線數(shù)據(jù)的雪崩式增長的時候,他們開始跟隨Google的腳步。 當重構(gòu)的Google的搜索引擎,GFS和MapReduce,產(chǎn)生出了Hadoop--- 一個海量計算能力的數(shù)字處理平臺,幾乎是現(xiàn)在最成功的開源項目。 Bigtable則引發(fā)了NoSQL運動, 產(chǎn)生了服務(wù)于Web規(guī)模大小的數(shù)據(jù)庫的家族編隊。 當然在很多方面,Google在數(shù)據(jù)中心硬件的發(fā)展的很多方法借鑒了來自Facebook, Amazon, Microsoft以及其他公司的經(jīng)驗。
實話說,Google的優(yōu)勢建立在一些來自很多公司和研究機構(gòu)(比如PARC和貝 爾實驗室)被埋沒的計算機科學(xué)家的數(shù)十年來的貢獻。 跟Google一樣,Amazon也對互聯(lián)網(wǎng)的基礎(chǔ)有很大的影響---最顯著的是通過一篇研究論文發(fā)表了一個叫做Dynamo的文件系統(tǒng)。 但是Google的影響更加深遠。
Google和Xerox PARC的區(qū)別在于,Google的優(yōu)勢大部分來源于它的發(fā)明往往領(lǐng)先于世界上其他公司能趕得上的程度。像GFS,MapReduce這樣的工具使得公司 在競爭中處于領(lǐng)先。 現(xiàn)在,它大部分已經(jīng)拋棄了這些工作,發(fā)展到新的軟硬件領(lǐng)域。 又一次,世界上其他公司開始追趕google
Google的孿生神人Kenton Varda 在愚人節(jié)那天同時對其他幾名google的工程師惡作劇。 Jeff Dean看起來像“最有趣的選擇” Varda回憶!八娘L度可能是這些神里面最大的”
另 一個候選人是Sanjay Ghemawat, Dean長期的合作者。 2004年,Google發(fā)表了一個關(guān)于MapReduce的研究論文, 這個海量計算能力的處理系統(tǒng)可能是這個公司最具有影響力的數(shù)據(jù)中心方面的發(fā)明。 這篇論文只列了兩個作者: Dean and Ghemawat。 這兩個工程師同時在設(shè)計Bigtables數(shù)據(jù)庫的過程中扮演了主要角色。 同時Ghemawat也是描述Google文件系統(tǒng)---一種在公司跨數(shù)據(jù)中心的網(wǎng)絡(luò)上存儲數(shù)據(jù)的辦法------的三名作者之一
即使是工作那個團隊的Varda里來看Google的基礎(chǔ)設(shè)施架構(gòu)部門, 這兩個工程師也是難以區(qū)分開。 ”Jeff和Sanjay一起工作開發(fā)了google的大部分基礎(chǔ)架構(gòu), 很多時候他們就好像連髖關(guān)節(jié)都在一起“, Varda說, ”往往很難分辨誰做了什么“
" 在google所有的代碼修改在提交之前都需要peer review(另一個人幫忙評審), 但是Jeff和Sanjay的例子,總是一個人發(fā)一大段要評審的代碼對方,對方直接 'LGTM'。 因為他們倆總是一起修改代碼:” LGTM在Google的意思是“l(fā)ooks good to me"
Varda說的這些都是真實。 這些年來, Dean和Ghemawat養(yǎng)成了坐在同一臺機器前面一起coding的習(xí)慣。 一般是Ghemawat編碼. "他是他的地盤上的收割者“, Dean說
他 們倆在來google之前就認識了。 90年代,他們都在DEC公司----前互聯(lián)網(wǎng)時代的計算領(lǐng)域巨人----的硅谷研究所工作。Dean在加州Palo Alto的DEC西部研究所工作, Ghemawat則在兩棟樓之外的姊妹實驗室-----DEC系統(tǒng)研究中心----工作。他們倆經(jīng)常合作項目,并不僅僅因為Dean對處于兩個實驗室之間 的冰激凌店感興趣,而是他們倆一起合作的很好。 在DEC, 他們一起為java語言寫了一個新的編譯器, 以及一個改變了我們追蹤服務(wù)器行為方式的系統(tǒng)分析器
他們作為DEC研究力量“移民”的一部分, 一起來到Google。 在90年代后期, 此時的Google剛剛起步,但是DEC卻已是日薄西山。 Google用很多RISC架構(gòu)的微處理器制造出大型(計算能力)的服務(wù)器, 并且當時世界的潮流迅速的涌向裝備了X86芯片的低功耗機器。1998年, DEC被PC巨人康柏收購。 四年后,康柏被HP合并。 DEC研究院的頂級研究員逐漸的向其他地方發(fā)展。
“DEC實驗室在被康柏收購后經(jīng)歷一段動蕩的時期” , Dean說,“而且它并不清楚在研院在這家剛合并了的公司里所處的角色“ 。一些工程師去了剛剛在硅谷開了分支研究機構(gòu)的微軟, 一些去了Palo Alto的一家叫做Vmware、從事試圖將數(shù)據(jù)中心顛覆的虛擬機行業(yè)的創(chuàng)業(yè)公司。 很多則去了Google這家成立于DEC被康柏收購?fù)瓿闪⒌墓尽?/p>
這是一段好幾家世界上最有影響力的研究所--包括Xerox PARC, 貝爾實驗室(產(chǎn)生出Unix操作系統(tǒng)和c語言)----失去動力的時期。 但是即使這些研究所的好日子到頭了,很多他們的研究員卻迎來了曙光。
“2001 年, 互聯(lián)網(wǎng)泡沫崩潰。 包括DEC在內(nèi)的巨頭們的時候縮減規(guī)模的時候, Google和Vmware兩個高科技公司在招人”。 Eric Brewer,現(xiàn)在和Dean和Ghemawat一起工作的加州大學(xué)伯克利分校計算機系教授說道。 “由于需求和供給的嚴重不對稱, 公司(指Google和Vmware)招聘了很多真正的偉大的人并且都因為這個因素發(fā)展的很好!
和Dean和Ghemawat一樣,好幾 位從DEC來到Google的工程師幫忙設(shè)計了一系列的導(dǎo)致了整個Web可以被當做一個整體的技術(shù), 其中包括Mike Burrows, Shun-Tak Leung, 和Luiz André Barroso. 同時,這些工程師在尋找有意思的工作----Google也在找尋足夠聰明的人來使得搜索引擎跑起來。 但是作為事后諸葛亮來分析,這些來自DEC的“移民”提供了理想的象征使得Google能后改變形象屹立在世界上其他公司之前。
DEC是第 一個構(gòu)建起成功的web搜索引擎的公司--出自DEC西部研究所的AltaVista--- 至少在剛開始時,整個AltaVista運行在單臺的DEC機器上。Google讓ALtaVista黯然失色很大一部分是因為它完全改變了這種模式。 與其用大型的機器來運行搜索引擎,Google將整個軟件系統(tǒng)分解成小塊, 并且把任務(wù)發(fā)散到小型廉價的機器上去。這就是隱匿在GFS, MapReduce, BigTable背后的思想。
事后諸葛亮來分析的話, 這是自然進化的過程。 “構(gòu)建一個像Google這樣用上千臺計算機搭建起來的系統(tǒng)的架構(gòu)上的挑戰(zhàn)和構(gòu)建一個復(fù)雜完整的系統(tǒng)的挑戰(zhàn)并不是完全不相同”, Armando Fox, 加州大學(xué)伯克利分校計算機系大規(guī)模計算方面的教授說道,“這些問題本質(zhì)上很相近, 這也是為什么需要有在DEC工作過的人來參這些工作”。
Jeff Dean追隨他“叔叔”來到Google
Jeff Dean 是第一個從DEC來到Google的。他追隨他“學(xué)術(shù)上的叔叔(學(xué)術(shù)上的領(lǐng)路人)”---Urs Hölzle的腳步。
Hölzle是Google最開始的10名員工之一,也是公司第一個工程副總,他見證了Google基礎(chǔ)架構(gòu)----根據(jù)外界猜測,Google有分布在全球的多達35個數(shù)據(jù)中心----從無到有誕生的過程。他以加州大學(xué)圣芭芭拉分校教授的身份加入了Google。 在這之前,他在斯坦福大學(xué)跟隨曾經(jīng)開發(fā)過現(xiàn)今Java語言編譯器的一些核心技術(shù)的David Ungar教授學(xué)習(xí)。
Dean 學(xué)術(shù)上的導(dǎo)師(譯注:指Urs Hölzle)也跟隨過Ungar一起學(xué)習(xí)過,所以我們稱呼Hölzle為“學(xué)術(shù)上的叔叔”。 1999年,當DEC垂死掙扎的時候, Dean離開了DEC,去了一家叫MySimon的創(chuàng)業(yè)公司。但是當他看到Hölzle在Google的時候,他發(fā)了封郵件詢問Google是否能提供他 想要的工作。很快他就被當初招聘Hölzle的那個人給招進了公司。 那個人正是Google的合伙創(chuàng)始人, 拉里佩奇。
起先,Dean負 責為Google的雛形搜索引擎構(gòu)建廣告系統(tǒng)。幾個月后,他開始接手由于全球互聯(lián)網(wǎng)迅猛發(fā)展苦苦支撐的Google公司的最核心的搜索技術(shù)。很大程度上因 為Dean和DEC的其他同事比如Krishna Bharat 和 Monika Henzinger都加入了Google,很快Ghemawat也加入了Dean的工作行列。
“如果不是Jeff在Google, 我很可能不會去Google面試”, Ghemawat說到。他們很快撿起在DEC所丟下的工作內(nèi)容。接下來的3、4年里,與一個一直處在不斷變動的工程師小組一起, 他們倆設(shè)計并實現(xiàn)了好幾個版本的公司的核心系統(tǒng), 包括抓取web頁面、建好索引、為全球的用戶提供搜索服務(wù)。
是的, 他們經(jīng)常喝著咖啡在同一臺機器上寫代碼?ú计嬷Z是他們的最愛。 Dean對于他們一起合作完成的工作評價是,因為Ghemawat更加冷靜沉著,“我有時候會變得沒有耐心,思考我們做某件事情的所有可能方案,我的想法 變得很快, 手上能很迅速敲出來代碼(這一句原文是 my mind and hands spinning at a very fast rate)。Sanjay也會很興奮,但是他能控制住自己。他不斷修改我的前進路線,所以我們最終會朝著正確的方向前進”。
Ghemawat認為Dean的做事的方法同樣重要。他(譯注:指Dean)保持他倆不斷的前進。 “我經(jīng)常會沮喪,思考做事情的其他不同的方法,擔心是不是錯過了正確的方案”, Ghemawat說, “為了達到目的,需要有這么一個充滿能量和激情的人”。
大 的突破伴隨著GFS和MapReduce這兩個在最近十年的頭幾年里Google的數(shù)據(jù)中心的不斷推廣應(yīng)用的發(fā)明的到來。這些平臺為Google的搜索引 擎海量數(shù)據(jù)的索引提供了可靠的解決方案。Google抓取互聯(lián)網(wǎng)上的網(wǎng)頁,它可以通過GFS將數(shù)據(jù)存儲在數(shù)千臺的服務(wù)器上。 有了MapReduce, 它就有了將這些數(shù)據(jù)處理成單個的、可檢索的索引的計算能力。
這些平臺的巧妙在于,即使有機器失敗或者網(wǎng)絡(luò)變慢,它們也不會崩潰掉。當你像 Google一樣需要處理數(shù)千臺普通務(wù)器的時候,機器掛掉是常有的事。有了GFS和MapReduce, Google可以在不同機器上放置多份數(shù)據(jù)的備份。即使有一臺機器掛掉, 其他的仍然正常工作。
“Google的索引的規(guī)模,導(dǎo)致了處理機 器掛掉和延遲是一項復(fù)雜的任務(wù)。為了高性能和可擴展性, 我們試圖對一堆機器的自動并行化做抽象(譯注:抽象是計算機領(lǐng)域很重要的概念,屏蔽底層的細節(jié)), 同時也需要分布在數(shù)千臺服務(wù)器上的長期運行的系統(tǒng)提供魯棒性和可靠性”, Jeff Dean在描述MapReduce背后設(shè)計的思考的時候說到。他解釋道,當這些工具運用在Google的搜索引擎里的時候,Google意識到他們可以用 (同樣的解決方案)來跑其他的Web業(yè)務(wù)。
BigTable出現(xiàn)在類似的場景。和MapReduce一樣,它運行了GFS之上,但是它不處 理數(shù)據(jù), 更像一個海量的數(shù)據(jù)庫。 “它管理行數(shù)據(jù)”, Dean說到,“并且按照你的需要將這些數(shù)據(jù)分布到更多的機器上去”。 它并不像傳統(tǒng)的關(guān)系型數(shù)據(jù)庫那樣,給了你很多對數(shù)據(jù)的操作的功能,但是它可以管理遠遠超過單臺機器的軟件平臺能夠管理的數(shù)據(jù)量。
同樣的故事一遍遍的發(fā)生。隨著公司的成長,Google遇到了空前規(guī)模的數(shù)據(jù)增長,它需要重新構(gòu)建軟件系統(tǒng)。
“當 你的工作是接管整個英特網(wǎng),建立索引,做一份拷貝---當然并不是拷貝一份和Internet同樣大小的那樣直接的方式來做----你會怎么做? 這是個很有趣的技術(shù)挑戰(zhàn)”, Jason Hoffman(Joyent云計算部門的首席技術(shù)官)說到, “揮舞錘子的人知道如何造一個錘子。 大多數(shù)創(chuàng)新來自于(之前有過的)做事的經(jīng)驗中, 來自你面臨失敗的那些地方”
Crème Brûlée打造的數(shù)據(jù)中心帝國
Luiz André Barroso 追隨Jeff Dean和Sanjay Ghemawat離開DEC來到Google。 但是他差一點就沒能來。
Barroso 在DEC的西部研究所和Dean一起工作。2001年,他在Google和Vmware的工作offer之間權(quán)衡。在訪問及面試了兩家公司之后, 他列了一個加入各家公司的理由的表格。 但是這個表格上兩家公司最終打成了平手:加入Google有122個理由, 同樣有122個理由加入Vmware。
然后他跟Dean作了交流。Dean提醒他是否把Google的行政主廚Charlie Ayers提供的焦糖布丁考慮在內(nèi)。 “焦糖布丁是他的最愛”, Dean還記得。 “我問他是否考慮(焦糖布丁)在這122條理由之內(nèi), 他說, '沒有!我忘記了!'”。 第二天Varroso就接受了Google的工作Offer。
Barroso不同尋常之處在于,他不是一個純粹 的軟件工程師。在DEC工作時, 他幫忙開發(fā)多核處理器---真正的在1顆CPU上的有多個處理器。 但是當Barroso在Google的軟件部門工作的時候, Hölzle讓他去負責Google的硬件部門的大整修,不僅僅包括服務(wù)器和其他計算設(shè)備,還有和數(shù)據(jù)中心相關(guān)所有硬件設(shè)備。“我是這伙人里技能最接近硬 件工程師的人”, Barroso回憶道(此處原文是:I was the closest thing we had to a hardware person)。
Hölzle, Barroso 以及他們的“平臺團隊” 開始重新思考公司的服務(wù)器。2003年, 不再跟往常一樣從DELL、HP這些公司采購常規(guī)服務(wù)器,這個團隊開始降低成本, 設(shè)計自己的服務(wù)器,并且聯(lián)系同樣為DELL和HP這些公司提供產(chǎn)能的亞洲的的工廠來生產(chǎn)。簡而言之,Google減少了中間供應(yīng)商。
Google的服務(wù)器獨特之處在于, 每臺服務(wù)器都包含一個12V的電池。 當機器沒有主電源供應(yīng)的時候,這塊電池可以接手繼續(xù)撐一會。據(jù)Google的說法,這種做法比在數(shù)據(jù)中心里裝備大量的UPS(不間斷電源, 為服務(wù)器提供后備電力)要更明顯的有效率。
之后這個團隊繼續(xù)工作在托管服務(wù)器的數(shù)據(jù)中心領(lǐng)域。當時Google都是從其他的公司租用數(shù)據(jù)中心托管服務(wù)。但是Barroso和Crew從頭開始, 為了節(jié)能和省錢,同時也是為了提供Google的Web服務(wù)的性能,設(shè)計和構(gòu)建了Google自己的數(shù)據(jù)中心。
Google的第一個新數(shù)據(jù)中心在Oregon的Dalles, 一個能提供廉價電力以及稅費優(yōu)惠的偏僻鄉(xiāng)村。但是他們的主要目標是,將整個數(shù)據(jù)中心建設(shè)成看起來就像一臺完整的大計算機。Barroso和Hölzle稱呼它為“數(shù)據(jù)倉庫式的計算(中心)”
“為了提供更高水平的英特網(wǎng)服務(wù)性能, 這些數(shù)據(jù)中心里的大部分軟硬件資源必須緊密聯(lián)系在一起協(xié)同工作。這個目標只能通過從全局整體來設(shè)計并部署才能實現(xiàn)。” Barroso和Hölzle 在他們2009年出版的一本很有影響力的、標題叫做 "The Data Center as a Computer"一書中寫到,“換句話說,我們必須把數(shù)據(jù)中心整體當做一個數(shù)據(jù)倉庫式的電腦(來使用)”。
他 們用新型的組件來設(shè)計了這種數(shù)據(jù)中心。緊密放置的服務(wù)器,網(wǎng)絡(luò)設(shè)備,以及其他硬件設(shè)備被裝進標準化的方便運輸?shù)难b置內(nèi) ---- 和陸運及海運運輸貨物的同樣的裝置。 這些數(shù)據(jù)中心模塊可以被拼接成一個大的多的計算設(shè)備。 這么做的目的是最大化每個模塊的工作效率。很明顯,這個概念來自于拉里佩奇在2003年看到的Internet Achieve做的一個關(guān)于他們的關(guān)于類似模塊的設(shè)想的匯報---即使Barroso不記得這個想法從何而來!胺凑皇俏摇, 他說到。
公司在Delles的數(shù)據(jù)中心2005年投入使用。這幾年來,關(guān)于Google的數(shù)據(jù)中心模塊和定制服務(wù)器的傳言滿天飛, 但是細節(jié)直到2009年Google在硅谷總部舉行的一次小型會議上才揭開。 在數(shù)據(jù)中心里, Google不滿足于僅僅創(chuàng)新。它保持極度的創(chuàng)新欲望直到已經(jīng)足夠好并且能夠和世界上其他的(公司)分享。
特斯拉現(xiàn)象拉里佩奇特別崇拜Nikola Tesla。 根據(jù)Steven Levy的那本講述Google背后故事的書---In The Plex介紹, 佩奇認為Tesla作為一個發(fā)明家和愛迪生不分上下,但是令人惋惜的是他缺乏將發(fā)明創(chuàng)造轉(zhuǎn)化為盈利的能力以及得到長期認可的能力。
Nicola Tesla的境遇警示Google如何對待它的核心技術(shù)。 它把它們視為商業(yè)機密。 跟蘋果公司一樣,Google在保密方面很有一套。但是另一方面,當一項技術(shù)在Google服務(wù)好幾年后 Google就會將它披露出來!霸诓环艞壩覀兊母偁巸(yōu)勢的前提下,我們會盡量做到開放”, Hölzle說!拔覀儠ǜ鷦e人)溝通想法, 但是不會公開實現(xiàn)方式的細節(jié)”。
2003和2004年,Google發(fā)表了GFS和MapReduce的論文。 Google的論文對這些系統(tǒng)本身做了很好地說明。不久之后,一個叫做Doug Cutting的開發(fā)者就利用(這些論文的思想), 為他稱做Nutch的一款開源搜索引擎構(gòu)建了索引系統(tǒng)。Cutting加盟當時的Google搜索的競爭對手雅虎之后,這個項目演變?yōu)镠adoop。
作為能夠驅(qū)動上千臺服務(wù)器來處理史詩般壯麗、罕見數(shù)量的數(shù)據(jù)的Hadoop, 被包括Facebook、Twitter、 微軟等很多其他互聯(lián)網(wǎng)巨頭所采用,F(xiàn)在Hadoop已經(jīng)逐漸發(fā)展到其他的商業(yè)領(lǐng)域。根據(jù)IDC的研究,到2016年,Hadoop項目將會創(chuàng)造813個million美元價值的軟件市場。
歷 史又在BigTable身上重演。Google在2006年發(fā)表了關(guān)于它的sweeping database(如何翻譯sweeping database ?)的論文,以及Amazon的一篇描述名為Dynamo的數(shù)據(jù)庫存儲的論文,拉開了轟轟烈烈的在成千上萬臺機器上擴展運行的NoSQL運動的序幕。
“如 果你自己觀察各種NoSQL的方案,所有的都可以歸結(jié)到Amazon的Dynamo或者Google的BigTable的論文思想里”, Joyent的Jason Hoffman說,“如果Google或者Amazon沒有發(fā)表出這兩篇學(xué)術(shù)論文,這個世界將會是怎么樣的另一番景象”。
Google 的硬件部門是完完全全不同的另一番故事。我們對于Google的數(shù)據(jù)中心內(nèi)部依然所知甚少,但是公司在設(shè)計及構(gòu)建這方面東西的努力同時也影響了了互聯(lián)網(wǎng)上 的其他公司(這一句翻譯的不好, 原文是:but the company’s efforts to design and build its own gear has undoubtedly inspired similar efforts across the web and beyond)。 Facebook在亞洲生產(chǎn)廠商的協(xié)助下正在設(shè)計它自己的服務(wù)器、服務(wù)器機架以及存儲設(shè)備。根據(jù)外部消息,Amazon和微軟也在做類似的事情。在開源計算基金會的支持下, Facebook開源了它在服務(wù)器方面的設(shè)計, 很多其他公司也在探索類似的硬件。
此 外,模塊化數(shù)據(jù)中心是當今Web的支柱。微軟用這些, eBay以及其他數(shù)不清的公司也在用。Mike Manos, 前微軟數(shù)據(jù)中心領(lǐng)域?qū)<,否認Google是模塊化數(shù)據(jù)中心浪潮的開創(chuàng)者。他指出類似的模塊最早可以追溯到1960年左右。但是Google最先借用了這 種思路。 Cloudant的Mike Miller指出, GFS和MapReduce的思想也來自于以前(譯注:指的是MapReduce的思想來自于函數(shù)式編程)。但是Google能夠很好地將這些舊的思想應(yīng) 用到解決新的問題中來。
Google的過去僅僅是拉開序幕具有諷刺意味的是, Google差不多已經(jīng)在內(nèi)部替代了這些技術(shù)。過去幾年,Google用一個叫做“Colossus”的新平臺替代了GFS, 并且用了一個叫做Caffeine的新系統(tǒng)來構(gòu)建索引。Caffeine系統(tǒng)包含部分MapReduce,但是使用實時構(gòu)建索引而不是(隔段時間)從頭開始重新構(gòu)建這樣一種完全不同的方式來運作。
Google或許會一直用其在Dalles的數(shù)據(jù)中心,但是在新的數(shù)據(jù)中心里,它不再扮演重要角色了。我們對Google現(xiàn)在在它高度機密的數(shù)據(jù)中心里使用的技術(shù)所知甚少, 但是你可以從它過往的所作所為來推測現(xiàn)在。
最 近幾年,Google發(fā)表了關(guān)于Caffeine以及兩個其他的軟件平臺:Pregal這個從數(shù)據(jù)分片中映射(圖結(jié)構(gòu))關(guān)系的圖數(shù)據(jù)庫; 以及能在超大量的數(shù)據(jù)中快速分析數(shù)據(jù)的Dremel。好幾個開源項目正在試圖實現(xiàn)Pregel。至少有一個正在克隆Dremel. Cloudant的Miller如此評價Caffeine:它改變了Hadoo和NoSQL的市場。
這些僅僅是一些在Google內(nèi)部得到應(yīng)用的最新發(fā)明。毫無疑問,還有更多我們不知道的東西。但是不管現(xiàn)在Google在用什么,它一定會很快的迭代前進。去年五月,加州大學(xué)伯克利分校的教授Eric Brewer聲明他加入了Google的構(gòu)建Google下一代基礎(chǔ)設(shè)施架構(gòu)的團隊!霸七很年輕”, 他說,“有很多東西可做,很多目標可以實現(xiàn)”。
作為分布式計算研究領(lǐng)域的巨人,Brewer是Google作為Xerox PARC現(xiàn)在繼任者的又一個標志。但是Google將PARC的精神又發(fā)揚了一大步。
你可以對比DEC來追溯Google的研究機構(gòu)(的發(fā)展軌跡), 所有的都很像PARC早期的時候。DEC的系統(tǒng)研究中心是Robert Taylor建立的,同時Taylor也是PARC的計算機科學(xué)實驗室的成立者。
Taylor 感覺到DEC在80年代失去了它的發(fā)展方向,所以建立了SRC(Systems Research Center)。 “我在PARC工作的很多同事都跟我一樣, 感覺(工作上)理想在幻滅,在失去希望”, 他說, “所以他們加入了我(創(chuàng)辦的實驗室)”。 他用舊的PARC計算機科學(xué)實驗室的影子作為藍圖來建設(shè)SRC---至少在組成架構(gòu)上和它一樣。 某種程度上,他成功了。
但是他也遇到了同 其他很多合作研究機構(gòu)一樣的限制。它(指SRC)花了很長時間將研究成果孵化成型,投入到市場上來。這也是Jeff Dean工作所在 的DEC西部研究所的困境。這促成了他去Google工作!白罱K,我所做的工作脫離了實際用戶這個挫折導(dǎo)致了我想去一個創(chuàng)業(yè)公司”, Dean說。
但 是Google不是傳統(tǒng)的創(chuàng)業(yè)公司。它把科學(xué)研究上的挑戰(zhàn)以及迅速將研究成果展示(給用戶,讓其滿意)結(jié)合起來。 Google是一個研究機構(gòu)--同時你也可以說它不是。“Google的基礎(chǔ)設(shè)施方面的工作并不能真正的被當做是研究”,Ghemawat說, “它是如何解決我們在實際生產(chǎn)環(huán)境中遇到的問題”。
對于一些人來說,在Google的核心基礎(chǔ)部門工作的一個缺點就是你不能告訴任何人你的工作內(nèi)容是什么。這就是為什么Amir Michael離開了Google, 去Facebook構(gòu)建服務(wù)器。但是,工程師們也有將他們的工作發(fā)表成論文或者公開的討論的機會。
對 于Google來說,這就是需要平衡的藝術(shù)。甚至一些平衡還很苛刻(原文是:Though some are critical of the particular balance), 但這對于Google來說很適用。沒有反對它這種做事方式的其他方法使得這個世界進步。 即使是PARC也沒有(像Google一樣)表現(xiàn)的更好。