大數(shù)據(jù)的那些事(4):活雷鋒與風(fēng)口的豬
按照慣例今天應(yīng)該是繼續(xù)講三駕馬車的BigTable,但是一則BigTable這東西不容易一下子說清楚。二則我覺得是時(shí)候停一下技術(shù),多聊點(diǎn)八卦。所以我們來講講這個(gè)著名的活雷鋒公司,以及Hadoop的早年。
Yahoo作為互聯(lián)網(wǎng)時(shí)代的第一股,曾經(jīng)牢牢的占據(jù)了整個(gè)IT行業(yè)非常重要的位置。從.com時(shí)代存活下來,一直到最近穿出來賣給Verizon,又傳聞Verizon變卦不想買。從天之驕子變成棄之如敝履的破鞋,也算得上是一個(gè)非常可悲的事情。我無意詳細(xì)展開Yahoo這個(gè)公司的整個(gè)歷史。
但是業(yè)界有一個(gè)傳聞,就是站在風(fēng)口,豬也能飛起來。至于飛起來的是真的牛還是豬,只有等風(fēng)停下來才能看明白。這話一次又一次在我的生活里被驗(yàn)證。所以通常來說聚光燈下的那些人頭,到底里面有多少是真英雄,有多少是豬,只有拉長時(shí)間線才能看明白。
通常來說,大家默認(rèn)的Hadoop起源是在Nuget這個(gè)項(xiàng)目。作為開源搜索引擎Lucene的姐妹的爬蟲Nuget,始于Doug Cutting和Mike Cafarella。這兩位在2003年開始做這個(gè)項(xiàng)目的時(shí)候,用的是手搭的幾臺(tái)機(jī)器。這個(gè)爬蟲的東西很難scale,做inverted index更是麻煩。而Google的GFS和MapReduce于2003和2004年分別發(fā)表。
于是到了2004年的時(shí)候這兩位意識到需要重寫這個(gè)Nuget系統(tǒng)了。他們用了幾個(gè)月的時(shí)間做了一個(gè)簡易版的HDFS和MapReduce,又把Nuget系統(tǒng)移上了這個(gè)新的平臺(tái)。從此以后在幾十臺(tái)機(jī)器的范圍內(nèi),可以非常穩(wěn)定輕松的跑起來了。
這大概就是互聯(lián)網(wǎng)上能夠聽聞的Hadoop的最初起源。至于真相如何,我也不得而知了。但是有一點(diǎn)我是知道的,這code和Google的那個(gè)比,一定是不堪入目的。即使4年后的2008年,我在IBM Almaden Research Center實(shí)習(xí)的時(shí)候,不得不接觸到當(dāng)時(shí)的Hadoop系統(tǒng),盡管我本人是學(xué)渣編程尤其的爛,依舊可以看得出來這個(gè)系統(tǒng)還是有不堪入目的感覺。那已經(jīng)是四年以后了。
2006年注定是重要的一年,這一年Google發(fā)表了兩篇重要的論文:BigTable和Chubby。前者導(dǎo)致了HBase,后者產(chǎn)生了Zookeeper。有關(guān)這些的東西留到以后再詳細(xì)講。這一年,也是Hadoop作為一個(gè)獨(dú)立的系統(tǒng)從Nuget里面獨(dú)立出來。這一年,還是Yahoo正式的招了Doug,從此開始了Hadoop的活雷鋒時(shí)代。這一年,順便插一句,也是我正式投出了人生的第一篇paper投出以后拿到拒信的時(shí)候,開啟了我PhD的論文灌水生涯。
于是Hadoop就這樣獨(dú)立出來了,Doug在Yahoo搞Hadoop啊搞Hadoop,機(jī)器從幾十臺(tái)到幾百臺(tái)啊。大約是一年多以后的時(shí)候IBM也進(jìn)來了,當(dāng)然18摸(IBM)有著一貫的官僚和自毀長城的歷史。這場Hadoop的盛宴,它們進(jìn)來的早,卻在內(nèi)斗中趕了個(gè)晚集,基本上是一無所獲了。Facebook那個(gè)時(shí)候也進(jìn)來了。更有意思的事情是活雷鋒不僅僅有Yahoo還有Google。當(dāng)時(shí)的Google遠(yuǎn)不是后來的Evil的不得了,腦子很好使的那個(gè)Google,活脫脫的一個(gè)傻白甜。
Google自己估計(jì)也是被MapReduce的風(fēng)給吹得我得意的笑啊我得意的笑啊。一邊是和數(shù)據(jù)庫領(lǐng)域大佬,未來圖靈獎(jiǎng)的獲得者M(jìn)ichael StoneBraker撕逼。一邊Google和18摸一起買下了一個(gè)快要廢棄的datacenter,弄進(jìn)兩千臺(tái)機(jī)器,裝上Hadoop,以便各地的PhD和Professor們可以好好的研究這個(gè)Hadoop,認(rèn)認(rèn)真真的膜拜MapReduce這個(gè)神話。
我想Google是一定看不上眼這個(gè)粗制濫造的Hadoop的,出來的版本里面沒有資源管理器,當(dāng)然這是Google刻意從論文里隱藏的結(jié)果。用Java這種毫無效率的語言寫的。文件系統(tǒng)效率極低,而且metadata居然連基本的High Availability都沒有。我知道各位看官可能覺得我在胡思亂想,以小人之心度谷歌之腹。其實(shí)不是的。我有非常鐵的證據(jù)。
后世的Hadoop三大批發(fā)商分別是Cloudera,Hortonworks以及MapR。有關(guān)這三大批發(fā)商的故事以后我們慢慢八卦,但是前兩者好歹是出身血統(tǒng)正宗。那個(gè)MapR的出身就非常的詭異了。CTO是個(gè)三哥,以前在Google里面搞GFS的。出來單干以后在印度烏壓壓的招了一群大小三哥們,用C++寫了一個(gè)自己的版本的HDFS,自帶High Availability。從此以后這個(gè)批發(fā)商走向了一條和其他人完全不一樣的道理。用C++復(fù)制開源的項(xiàng)目,自己提供兼容的接口,賣不開源的自家的實(shí)現(xiàn)。而很容易查到的是Google Venture早年給這家投了不少錢。
像這種不跟隨開源走賣自己的東西的,雖然一開始的時(shí)候看起來很牛13,但是過些日子,亂拳打死老師傅,開源的要有的都會(huì)有的,比如High Availability,比如Resource Manager。一個(gè)小小的屁公司,怎么能夠頂?shù)米∫粋€(gè)世界呢?而Google Venture早年卻看好這個(gè)公司,只能說Google內(nèi)部秉承了同樣的理念。先支持Hadoop這個(gè)渣渣給大家見識一下MapReduce的威武,再展現(xiàn)一下Google高超的Engineering水準(zhǔn),于是全世界都要頂禮膜拜,Google從此封神了。
當(dāng)然歷史最終不是這樣走的,這也就是為什么我覺得在某幾年的時(shí)候從Jeff Dean到Google都被MapReduce的光輝給照瞎眼了。所以吹牛這個(gè)東西一旦吹起來就會(huì)飄飄然,覺得老子天下第一。周圍的人再捧幾下,就真的上天了。要不以袁世凱如此聰明的人,怎么也會(huì)想著去當(dāng)皇帝呢?Google也不能免俗。
其實(shí)類似的事情在Google身上不斷發(fā)生,從Google Wave到Google Glass乃至Google Plus。好歹Google這幾年終于清醒過來了,在tensorflow上的表現(xiàn)讓我看起來完全不像以前那個(gè)250啊。當(dāng)然拿著印鈔機(jī)的250還是可以活很多年的,不論是微軟還是Google,所以印鈔機(jī)在手別無所求啊。
2009年同樣發(fā)生了很多事情,Doug加入了新成立的承包商Cloudera,Mike PhD畢業(yè)去了UMichgen做了教授。2009年也是美國經(jīng)濟(jì)危機(jī)的第一年。那年我從我的學(xué)校滾蛋了,因?yàn)槔习迮苈?,只好趁?jīng)濟(jì)危機(jī)畢業(yè)了。我沒見過Doug,見過Mike幾次,因?yàn)樵谕粋€(gè)圈子里混的緣故。我其實(shí)對09年畢業(yè)的Mike印象不深,印象更深刻的是他的同門師兄弟Chris Re。
那年經(jīng)濟(jì)危機(jī)我被迫畢業(yè),到處投各種職位,包括申請faculty的職位,結(jié)果Mike沒有太多出面申請很多學(xué)校,Chris則幾乎把每個(gè)學(xué)校都投了一個(gè)遍。凡是我投的他也投的,面試都屬于他的。我只在200多名的一個(gè)小學(xué)校拿了個(gè)onsite最后還掛掉了。充分證明了誰是真正的大牛,誰是在風(fēng)口也沒飛起來的那頭豬。
兩年后Yahoo spinoff了它的Hadoop團(tuán)隊(duì),VP of Hadoop等一干人成立了Hortonworks。這就是為什么今天的開源Hadoop里要么是這個(gè)批發(fā)商的,要么是那個(gè)批發(fā)商的,卻沒有MapR什么事情。當(dāng)然,MapR也弄出了一個(gè)開源項(xiàng)目Drill,這是應(yīng)對后來Google的BigQuery的策略了,和Cloudera的Impala有異曲同工之妙。
我們還是留待以后再慢慢的講吧。Yahoo的spinoff也就意味著它作為活雷鋒時(shí)代的結(jié)束。讓我們?yōu)檫@個(gè)即將死去的活雷鋒這多年來對Hadoop無私奉獻(xiàn)支持來說聲感謝。由衷的感謝Yahoo這頭風(fēng)飛了很多年的豬對開源Hadoop ecosystem的巨大而無私的貢獻(xiàn)。
同系列之:
大數(shù)據(jù)的那些事(1):Google的后悔藥