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