天天看點

Hadoop之父Doug Cutting眼中大資料技術的未來

上次見到(膜拜)hadoop之父doug cutting是在2年前,2014中國大資料技術大會上。今年hadoop10歲,剛看到他的hadoop十周年賀詞,感覺時間飛逝。

Hadoop之父Doug Cutting眼中大資料技術的未來

  doug cutting成長史

1985年畢業于美國斯坦福大學的cutting并不是一開始就決心投身it行業的。在大學時代的頭兩年,cutting學習了諸如實體、地理等正常課程。因為學費的壓力,cutting開始意識到,自己必須學習一些更加實用、有趣的技能。這樣,一方面可以幫助自己還清貸款,另一方面,也是為自己未來的生活做打算。因為斯坦福大學座落在it行業的“聖地”矽谷,是以學習軟體對年輕人來說是再自然不過的事情了。

cutting的第一份工作是在xerox做實習生,xerox當時的雷射掃描器上運作着三個不同的作業系統,其中的一個作業系統還沒有螢幕保護程式。是以,cutting就開始為這套系統開發螢幕保護程式。由于這套程式是基于系統底層開發的,是以

其他同僚可以給這個程式添加不同的主題。這份工作給了cutting一定的滿足感,也是他最早的“平台”級的作品。

可以說,xerox對

cutting後來研究搜尋技術起到了決定性的影響,除了短暫的在蘇格蘭工作的經曆外,cutting事業的起步階段大部分都是在xerox度過的,這段

時間讓他在搜尋技術的知識上有了很大提高。他花了四年的時間搞研發,這四年中,他閱讀了大量的論文,同時,自己也發表了很多論文,用cutting自己的

話說——“我的研究所學生是在xerox讀的。”

盡管xerox讓cutting積累了不少技術知識,但他卻認為,自己當時搞的這些研究隻是紙上談兵,沒有人試驗過這些理論的可實踐性。于是,他決定勇敢地邁出這一步,讓搜尋技術可以為更多人所用。1997年底,cutting開始以每周兩天的時間投入,在家裡試着用java把這個想法變成現實,不久之後,lucene誕生了。作為第一個提供全文文本搜尋的開源函數庫,lucene的偉大自不必多言。

之後,cutting再接再厲,在 lucene的基礎上将開源的思想繼續深化。2004年,cutting和同為程式員出身的mike

cafarella決定開發一款可以代替當時的主流搜尋産品的開源搜尋引擎,這個項目被命名為nutch。在此之前,cutting所在的公司

architext(其主要産品為excite搜尋引擎)因沒有頂住網際網路經濟泡沫的沖擊而破産,那時的cutting正處在freelancer的生涯

中,是以他希望自己的項目能通過一種低開銷的方式來建構網頁中的大量算法。幸運的是,google這時正好釋出了一項研究報告,報告中介紹了兩款

google為支援自家的搜尋引擎而開發的軟體平台。這兩個平台一個是gfs(google file

system),用于存儲不同裝置所産生的海量資料;另一個是mapreduce,它運作在gfs之上,負責分布式大規模資料。基于這兩個平台,cutting最引人矚目的作品——hadoop誕生了(後來大家習慣認為hadoop于2006年1月28日誕生的)。談到google對他們的

“幫助”,cutting說:“我們開始設想用4~5台電腦來實作

這個項目,但在實際運作中牽涉了大量繁瑣的步驟需要靠人工來完成。google的平台讓這些步驟得以自動化,為我們實作整體架構打下了良好的基礎。”

說起google,cutting也是它成長的見證人之一,這裡有一段鮮為人知的故事。早在cutting供職于architext期間,有兩個年輕人曾去拜訪這家公司,并向他們兜售自己的搜尋技術,但當時他們的demo隻檢索出幾百萬條網頁,excite的工程師們覺得他們的技術太小兒科,于是就在心裡鄙

視一番,把他們給送走了。但故事并未到此結束,這兩個年輕人回去之後痛定思痛,決定自己創業。于是,他們開了一家自己的搜尋公司,取名為google。這兩個年輕人就是larry

page和sergey brin。在cutting看來,google的成功主要取決于,反向排序之後再存儲的設計和對自己技術的自信。

出于對時間成本的考慮,在從architext離職四年後,cutting決定結束這段freelancer的生涯,找一家靠譜的公司,進一步完善

hadoop的性能。他先後面試了幾家公司,其中也包括ibm,但ibm似乎對他的早期項目lucene更感興趣,至于hadoop則不置可否。就在此

時,cutting接受了當時yahoo!搜尋項目負責人raymie

stata的邀請,于2006年正式加入yahoo!。在yahoo!,有一支一百人的團隊幫助他完善hadoop項目,這期間開發工作進行得卓有成效。

不久之後,yahoo!就宣布,将其旗下的搜尋業務的架構遷移到hadoop上來。兩年後,yahoo!便基于hadoop啟動了第一個應用項目

“webmap”——一個用來計算網頁間連結關系的算法。cutting的時任上司(後為hortonworks ceo)eric

baldeschwieler曾說:“在相同的硬體環境下,基于hadoop的webmap的反應速度是之前系統的33倍。”

談到成功,cutting認為他的成功主要歸功于兩點,一是對自己工作的熱情(cutting在大學時就開始做infrastracture類的程式,還用

lisp為emacs貢獻過代碼,他非常喜歡自己的程式被千萬人使用的感覺);二是目标不要定得過大,要踏踏實實,一步一個腳印。

現在已經被業内稱為hadoop之父的cutting在hadoop10年來到之時發表文章:hadoop at 10: doug

cutting on making big data

work。infoq翻譯了中文(原文内容,翻譯)。讓我們一起看看他眼中的大資料技術的未來是怎麼樣的?

他眼中大資料技術的未來

Hadoop之父Doug Cutting眼中大資料技術的未來

(換為本人叙述模式)2016年1月28日,是hadoop誕生十周年。此紀念日既給予了我們機會去慶祝過去10年來 apache hadoop所取得的進步,也讓我們反思是如何取得今天的一切成就,同時以便更好地規劃未來的發展目标。

hadoop是為了大資料而誕生的,其本身就象征着本世紀工業革命的焦點:業務的數字化轉型。十年前,數字化業務僅僅在少數幾個行業中得到了應用,例如電子商務和媒體。從那時起,我們已經看到數字化技術将成為幾乎所有行業必不可少的一環。每一個行業都正在緻力于圍繞其資訊系統建構資料驅動型營運模式。像hadoop之類的大資料工具可以使各行業能夠從他們所産生的資料中獲得最大的利益。

hadoop本身并非是數字化轉型的根本起因,但是它是推動這種發展趨勢的重要因素。是以,通過追溯hadoop的發展曆史,可以更好地了解我們現在所處的世紀。

兩大傳統

在hadoop出現之前,業界存在兩大軟體傳統,doug

cutting稱之為“企業式(enterprise)”和“黑客式(hacker)”。在企業式傳統中,供應商負責向運作軟體的企業開發和銷售軟體,但是兩者之間的合作是非常少的。企業軟體依賴于一套關系資料庫管理系統(rdbms)來解決幾乎所有的問題。使用者僅信任他們自己的關系資料庫管理系統(rdbms)來存儲和處理業務資料。如果某資料不是在該關系資料庫管理系統(rdbms)中,使用者則認為不是業務資料。

在黑客式傳統中,軟體主要由那些在大學、研究中心和矽谷網絡公司開發該軟體的相關方使用。開發人員通過編寫軟體來解決特定的問題,例如路由網絡流量、網頁生成和網頁服務等等。是以,doug

選擇了後一種傳統,十多年來一直專門緻力于搜尋引擎是開發工作。doug

說他們很少使用關系資料庫管理系統(rdbms),因為其沒有得到很好地擴充以搜尋整個網絡,速度非常慢,不靈活且成本昂貴。

hadoop的發展曆史

2000年,我加入了apache

lucene項目,第一次嘗試開源項目開發工作。該方法對他來說是一個啟迪。不僅僅可以與開發人員緊密合作,而且變更工作機關後還可以繼續為同一款軟體投入心血。但最重要的是,這極大地增長了見識:優秀的開源項目是如何讓軟體變得大受歡迎的。如果軟體不會因許可限制而束縛,那麼使用者就能夠以更為舒适的方式來使用該軟體,并基于該軟體開展自身的業務,而不會存在硬依賴于不透明的商業性軟體的風險。當使用者發現問題時,他們就可以介入并協助解決這些問題,進而提升了開發團隊的規模。總而言之,開源是軟體應用和開發的一種促進劑。

幾年後,大約在2004年左右,當開發apache

nutch項目時,我有了另外一個見解。當時正試圖建構一個可以處理數十億網頁的分布式系統。但是,不如人意的是該過程進展相當緩慢:很難開發和運作這個軟體。聽說,谷歌公司(google)的工程師設計了一個系統,可以隻需要幾行代碼編寫一個計算程式,該計算程式可以在數千台機器上并行運作,并且可以在幾分鐘時間内就能夠可靠地處理多tb的資料。之後,谷歌公司(google)發表了兩篇論文,描述了該計算程式是如何工作的,其中最關鍵的就是一個分布式檔案系統(gfs)與一個執行引擎(mapreduce)。這種方式将使nutch變成一個更可行的系統。此外,這些工具可能可以被用于很多其他應用程式中。mapreduce在大規模資料分析方面展現出了前所未有的潛力,但當時隻提供給谷歌公司(google)的工程師使用。

綜合開源特性在推廣科學技術方面的效能以及谷歌公司(google)方法的廣泛适用性,我意識到采用開源的方式實施谷歌公司(google)的想法将不僅能更好地應用nutch,而且很有可能成為一個非常成功的開源項目。懷着這樣的想法,mike

cafarella和我開始在nutch系統中實施這樣的分布式檔案系統和mapreduce引擎。

截至到2005年,谷歌公司(google)引領的這種新型nutch系統已經被我們應用于20到40個計算機叢集中。但是,如果僅僅依靠幾個人利用業餘時間來開發這款軟體,那麼可能需要耗費很多年的時間才能讓該足夠穩定且可靠。此外該軟體需要在數以千計的計算機叢集上進行測試和調試,但是他們沒有足夠的計算機叢集來完成這一工作。

2006年,我在雅虎公司(yahoo!)給一些夥計們談論了有關nutch的資訊,并且得知大家對這種軟體存在巨大的需求。同時,我們也有一支熟練的工程師隊伍在進行這項工作,并且部署了大量的硬體。

于是,在2006年1月,我加入到了雅虎公司(yahoo!)。此後不久将nutch中的分布式檔案系統和mapreduce軟體分隔開來形成了一個新的項目,即“hadoop”,這是以我的兒子的毛絨大象玩具而命名的。由于新加入了十幾名雅虎公司(yahoo!)的工程師以及配置了數千台電腦,取得了飛速的進展。截止到2007年,我們建構了一個相對穩定的、可靠的系統,可以使用經濟實惠的商用硬體處理數千兆位元組(pb)的資料。

hadoop徹底地改變了整個行業的格局。開發人員可以更快、更輕松地建構更好的廣告方式、拼寫檢查、頁面布局等等。此外,越來越多的非雅虎公司(yahoo!)的使用者也開始部署hadoop,例如facebook、twitter和linkedin等公司。在hadoop之上也很快建立了其他項目,例如apache

pig、apache hive、apache

hbase等等。同時,學術研究人員也開始使用hadoop。這樣就已經達到了我們最初設想的目标:即建構一個能夠輕松友善、經濟實惠地存儲和分析大量資料的非常流行的開源項目。

随後一些風險投資商說該軟體可能除了網絡和學術界之外還有更大用途。但是有人認為銀行、保險公司和鐵路公司可能永遠也不會運作這種開源的“黑客式”軟體。風險投資商依然堅持他們的觀點,并在2008年籌建了cloudera,這是業界第一家明确使命為将hadoop和相關技術引入傳統企業的公司。

一年以後,在2009年,我開始意識到這種可能性。如果可以讓世界500強企業開始采用hadoop的話,那麼很可能就會改變他們的業務模式。随着公司逐漸采取更多的技術,從網站和呼叫中心到現金出納機和條碼掃描器,他們的手指尖将會傳遞越來越多的關于他們企業的資料。如果企業機構能夠采集和使用更多的資料,那麼将可以更好地了解和改善他們的業務。傳統的基于關系資料庫管理系統(rdbms)的技術存在以下弱點:在支援可變、淩亂的資料和快速實驗方面顯得太過死闆;無法輕易擴充到支撐pb級資料;并且成本非常昂貴。與此相比,即使是很小的hadoop叢集也可以允許公司提出和回答比以前更複雜的問題,并且可以不斷地學習和提高。最後,我加入了cloudera公司。

現況與展望

現在,七年後,hadoop及其開啟的潮流已經在主流企業中發揮了非常有價值的作用。

我們在多個方面正處于大變革的時代。目前,傳統的企業式關系資料庫管理系統(rdbms)軟體面臨着開源的大資料軟體這個競争對手。出乎意料但是非常讓人驚喜的是,黑客式和企業式軟體傳統之間的差異已不再明顯,并且兩者之間已經出現了融合。同時,軟體的開發者和使用者之間也沒有了有嚴格的劃分。

hadoop生态系統中沒有任何一個單一的軟體元件占主導地位。hadoop也許是最古老和最成功的元件,但是每年都會引入新的、改進的技術。新型的執行引擎(例如apache

spark)和新型的存儲系統(例如apache

kudu(正在孵化中))表明,這種軟體生态系統的發展非常迅速,且不存在任何中心控制點。使用者也可以更快的獲得更好的軟體産品。

該軟體不僅更實惠,可擴充,而且提供了更好的風格。企業機構不僅可以探索混亂的、多樣化的資料源,開展實驗,而且可以迅速地開發和改進應用程式。我們可以綜合利用源于傳感器、社交媒體和生産過程的資料來進行更深入的分析,制定明智的決策以及推出新的産品。包括cloudera在内的公司都在不斷地推動該軟體的完善,確定其滿足各行業的需求,使之更穩定、更可靠、更易管理、更安全,并且可以與現有系統輕松地內建在一起。

目前,政府和行業本身也正在轉型。不僅是優步(uber)和特斯拉(tesla)之類的新興公司正在使用資料來重新塑造自己的行業,卡特彼勒公司(caterpillar)和雪佛龍公司(chevron)等老字号品牌也正在通過資料技術極大地提升自身。我們将在本世紀獲得的絕大部分的技術進步都将源于我們對所生成資料的深刻了解。

回首過去,10年前我們決不會猜到hadoop将會在這般的滔天巨變中發揮如此關鍵性的作用。對于今天所取得的一切成就,感到十分自豪和驚喜。随着資料世紀的到來,期待看到hadoop繼續發揮它的影響。

本文轉自d1net(轉載)