Hadoop之父祝賀黃色小象的十歲生日快樂
2016-01-29 22:13:29 來源:Doug Cutting 評論:0 點擊:
編者按
Hadoop于2006年1月28日誕生,至今已有10年,它改變了企業對數據的存儲、處理和分析的過程,加速了大數據的發展,形成了自己的極其火爆的技術生態圈,并受到非常廣泛的應用。在2016年Hadoop十歲生日之際,InfoQ策劃了一個Hadoop熱點系列文章,為大家梳理Hadoop這十年的變化,技術圈的生態狀況,回顧以前,激勵以后。Doug Cutting是Hadoop的發起人,這篇是從他的Hadoop十周年祝賀詞翻譯而來。
2016年是Hadoop誕生十周年。此紀念日既給予了我們機會去慶祝過去10年來 Apache Hadoop所取得的進步,也讓我們反思是如何取得今天的一切成就,同時以便更好地規劃未來的發展目標。
Hadoop是為了大數據而誕生的,其本身就象征著本世紀工業革命的焦點:業務的數字化轉型。十年前,數字化業務僅僅在少數幾個行業中得到了應用,例如電子商務和媒體。從那時起,我們已經看到數字化技術將成為幾乎所有行業必不可少的一環。每一個行業都正在致力于圍繞其信息系統構建數據驅動型運營模式。像Hadoop之類的大數據工具可以使各行業能夠從他們所產生的數據中獲得最大的利益。
Hadoop本身并非是數字化轉型的根本起因,但是它是推動這種發展趨勢的重要因素。因此,通過追溯Hadoop的發展歷史,可以更好地了解我們現在所處的世紀。
兩大傳統
在Hadoop出現之前,業界存在兩大軟件傳統,Doug Cutting稱之為“企業式(enterprise)”和“黑客式(hacker)”。在企業式傳統中,供應商負責向運行軟件的企業開發和銷售軟件,但是兩者之間的合作是非常少的。企業軟件依賴于一套關系數據庫管理系統(RDBMS)來解決幾乎所有的問題。用戶僅信任他們自己的關系數據庫管理系統(RDBMS)來存儲和處理業務數據。如果某數據不是在該關系數據庫管理系統(RDBMS)中,用戶則認為不是業務數據。
在黑客式傳統中,軟件主要由那些在大學、研究中心和硅谷網絡公司開發該軟件的相關方使用。開發人員通過編寫軟件來解決特定的問題,例如路由網絡流量、網頁生成和網頁服務等等。因此,Doug 選擇了后一種傳統,十多年來一直專門致力于搜索引擎是開發工作。Doug 說他們很少使用關系數據庫管理系統(RDBMS),因為其沒有得到很好地擴展以搜索整個網絡,速度非常慢,不靈活且成本昂貴。
Hadoop的發展歷史
2000年,Doug加入了Apache Lucene項目,第一次嘗試開源項目開發工作。該方法對他來說是一個啟迪。不僅僅可以與開發人員緊密合作,而且變更工作單位后還可以繼續為同一款軟件投入心血。但最重要的是,這極大地增長了見識:優秀的開源項目是如何讓軟件變得大受歡迎的。如果軟件不會因許可限制而束縛,那么使用者就能夠以更為舒適的方式來使用該軟件,并基于該軟件開展自身的業務,而不會存在硬依賴于不透明的商業性軟件的風險。當使用者發現問題時,他們就可以介入并協助解決這些問題,從而提升了開發團隊的規模。總而言之,開源是軟件應用和開發的一種促進劑。
幾年后,大約在2004年左右,當開發Apache Nutch項目時,Doug他們有了另外一個見解。當時正試圖構建一個可以處理數十億網頁的分布式系統。但是,不如人意的是該過程進展相當緩慢:很難開發和運行這個軟件。他們聽到傳聞說,谷歌公司(Google)的工程師設計了一個系統,可以只需要幾行代碼編寫一個計算程序,該計算程序可以在數千臺機器上并行運行,并且可以在幾分鐘時間內就能夠可靠地處理多TB的數據。之后,谷歌公司(Google)發表了兩篇論文,描述了該計算程序是如何工作的,其中最關鍵的就是一個分布式文件系統(GFS)與一個執行引擎(MapReduce)。這種方式將使Nutch變成一個更可行的系統。此外,這些工具可能可以被用于很多其他應用程序中。MapReduce在大規模數據分析方面展現出了前所未有的潛力,但當時只提供給谷歌公司(Google)的工程師使用。
綜合開源特性在推廣科學技術方面的效能以及谷歌公司(Google)方法的廣泛適用性,Doug意識到采用開源的方式實施谷歌公司(Google)的想法將不僅能更好地幫助他們應用Nutch,而且很有可能成為一個非常成功的開源項目。懷著這樣的想法,Mike Cafarella和他開始在Nutch系統中實施這樣的分布式文件系統和MapReduce引擎。
截至到2005年,谷歌公司(Google)引領的這種新型Nutch系統已經被Doug Cutting等人應用于20到40個計算機集群中。但是,如果僅僅依靠幾個人利用業余時間來開發這款軟件,那么可能需要耗費很多年的時間才能讓該足夠穩定且可靠。此外該軟件需要在數以千計的計算機集群上進行測試和調試,但是他們沒有足夠的計算機集群來完成這一工作。
2006年,Doug Cutting在雅虎公司(Yahoo?。┙o一些伙計們談論了有關Nutch的信息,并且得知他們對這種軟件存在巨大的需求。同時,他們也有一支熟練的工程師隊伍在進行這項工作,并且部署了大量的硬件。因此,他和雅虎雙方之間的匹配相當完美。
于是,在2006年1月,他加入到了雅虎公司(Yahoo!)。此后不久將Nutch中的分布式文件系統和MapReduce軟件分隔開來形成了一個新的項目,即“Hadoop”,這是以Doug兒子的毛絨大象玩具而命名的。由于新加入了十幾名雅虎公司(Yahoo?。┑墓こ處熞约芭渲昧藬登_電腦,因此他們取得了飛速的進展。截止到2007年,他們構建了一個相對穩定的、可靠的系統,可以使用經濟實惠的商用硬件處理數千兆字節(PB)的數據。
Hadoop徹底地改變了整個行業的格局。開發人員可以更快、更輕松地構建更好的廣告方式、拼寫檢查、頁面布局等等。此外,越來越多的非雅虎公司(Yahoo!)的用戶也開始部署Hadoop,例如Facebook、Twitter和LinkedIn等公司。在Hadoop之上也很快建立了其他項目,例如Apache Pig、Apache Hive、Apache HBase等等。同時,學術研究人員也開始使用Hadoop。這樣就已經達到了Doug Cutting最初設想的目標:即構建一個能夠輕松方便、經濟實惠地存儲和分析大量數據的非常流行的開源項目。
隨后一些風險投資商說該軟件可能除了網絡和學術界之外還有更大用途。但是Doug認為銀行、保險公司和鐵路公司可能永遠也不會運行這種開源的“黑客式”軟件。風險投資商依然堅持他們的觀點,并在2008年籌建了Cloudera,這是業界第一家明確使命為將Hadoop和相關技術引入傳統企業的公司。
一年以后,在2009年,Doug才開始意識到這種可能性。如果可以讓世界500強企業開始采用Hadoop的話,那么很可能就會改變他們的業務模式。隨著公司逐漸采取更多的技術,從網站和呼叫中心到現金出納機和條碼掃描器,他們的手指尖將會傳遞越來越多的關于他們企業的數據。如果企業機構能夠采集和使用更多的數據,那么將可以更好地了解和改善他們的業務。傳統的基于關系數據庫管理系統(RDBMS)的技術存在以下弱點:在支持可變、凌亂的數據和快速實驗方面顯得太過死板;無法輕易擴展到支撐PB級數據;并且成本非常昂貴。與此相比,即使是很小的Hadoop集群也可以允許公司提出和回答比以前更復雜的問題,并且可以不斷地學習和提高。此后Doug加入了Cloudera公司。
現況與展望
現在,七年后,我們可以看到,Cloudera公司的創始人是多么的明智:Hadoop及其開啟的潮流已經在主流企業中發揮了非常有價值的作用。
我們在多個方面正處于大變革的時代。目前,傳統的企業式關系數據庫管理系統(RDBMS)軟件面臨著開源的大數據軟件這個競爭對手。出乎意料但是非常讓人驚喜的是,黑客式和企業式軟件傳統之間的差異已不再明顯,并且兩者之間已經出現了融合。同時,軟件的開發者和使用者之間也沒有了有嚴格的劃分。
Hadoop生態系統中沒有任何一個單一的軟件組件占主導地位。Hadoop也許是最古老和最成功的組件,但是每年都會引入新的、改進的技術。新型的執行引擎(例如Apache Spark)和新型的存儲系統(例如Apache Kudu(正在孵化中))表明,這種軟件生態系統的發展非常迅速,且不存在任何中心控制點。用戶也可以更快的獲得更好的軟件產品。
該軟件不僅更實惠,可擴展,而且提供了更好的風格。企業機構不僅可以探索混亂的、多樣化的數據源,開展實驗,而且可以迅速地開發和改進應用程序。我們可以綜合利用源于傳感器、社交媒體和生產過程的數據來進行更深入的分析,制定明智的決策以及推出新的產品。包括Cloudera在內的公司都在不斷地推動該軟件的完善,確保其滿足各行業的需求,使之更穩定、更可靠、更易管理、更安全,并且可以與現有系統輕松地集成在一起。
當前,政府和行業本身也正在轉型。不僅是優步(Uber)和特斯拉(Tesla)之類的新興公司正在使用數據來重新塑造自己的行業,卡特彼勒公司(Caterpillar)和雪佛龍公司(Chevron)等老字號品牌也正在通過數據技術極大地提升自身。我們將在本世紀獲得的絕大部分的技術進步都將源于我們對所生成數據的深刻了解。
回首過去,10年前Doug決不會猜到Hadoop將會在這般的滔天巨變中發揮如此關鍵性的作用。對于今天所取得的一切成就,他感到十分自豪和驚喜。隨著數據世紀的到來,期待看到Hadoop繼續發揮它的影響。
相關熱詞搜索:hadoop ten years Doug 數據科學 文化 & 方法 語言 & 開發 Hadoop 大數據 架構 數據庫 數據科學
