馬克·奧爾森是Hadoop運(yùn)動背后的主要人物之一。但是連他都開始向谷歌內(nèi)部正在孕育并使用的“大數(shù)據(jù)”工具看齊。圖片來源:Wired.com/Jon Snyder
馬克·奧爾森管理的一家公司專注于當(dāng)前世界上最火的軟件。他是Clodera公司的CEO,這家硅谷初創(chuàng)公司經(jīng)營著開源軟件平臺Hadoop,它的基礎(chǔ),正是谷歌賴以統(tǒng)治網(wǎng)絡(luò)(搜索)世界的技術(shù)。
外界預(yù)期到2016年,將由超過8.13億美元的軟件運(yùn)行在Hadoop上。但是現(xiàn)在就連奧爾森自己都說這個消息過時了。
Hadoop起源自谷歌在2003年底和2004年發(fā)表的兩篇學(xué)術(shù)論文。第一篇介紹了谷歌的文件系統(tǒng),將海量的數(shù)據(jù)保存在上千臺普通廉價的PC上;第二篇論文介紹了MapReduce算法,將所有服務(wù)器中的處理器有效的利用起來計(jì)算(保存在谷歌文件系統(tǒng)中的海量)數(shù)據(jù)并得到想要的結(jié)果。八年之后,Hadoop得到了廣泛的使用,(應(yīng)用范圍)從數(shù)據(jù)分析到各種這樣的數(shù)值計(jì)算任務(wù)等等。但是谷歌并沒有停下自己的腳步。
從2009年開始,搜索巨人開始使用新技術(shù)替換現(xiàn)有的GFS和MapReduce,而麥克·奧爾森會告訴你這些技術(shù)將是未來的發(fā)展方向。“如果你想知道未來的大規(guī)模、高性能數(shù)據(jù)處理架構(gòu)是什么樣子的,我的建議是現(xiàn)在就去讀谷歌的研究論文,”奧爾森在最近的一次專題討論會中告訴連線雜志。
在Hadoop興起之后,谷歌發(fā)表了三篇值得注意的文章,內(nèi)容關(guān)于支持谷歌大規(guī)模網(wǎng)頁操作的底層架構(gòu)。一篇詳細(xì)介紹了Caffeine,谷歌網(wǎng)絡(luò)搜索引擎索引構(gòu)建平臺。第二篇關(guān)于Pregel,一個用于映射大量線上信息之間關(guān)系的“圖數(shù)據(jù)庫”。最吸引人的是一篇介紹Dremel工具的文章。
“如果你之前告訴我Dremel聲稱能做到的功能,我不太會相信你會實(shí)現(xiàn)它,”加州大學(xué)伯克利分校計(jì)算機(jī)系教授Armando Fox說。Fox教授專門研究數(shù)據(jù)中心級的軟件平臺。
Dremel是一種分析數(shù)據(jù)的(新)方法。它運(yùn)行在上千臺服務(wù)器上,讓你能夠在大數(shù)據(jù)上——例如網(wǎng)頁文檔集合、數(shù)字圖書館、百萬規(guī)模的垃圾信息等——執(zhí)行“查詢”操作。這有點(diǎn)類似于過去傳統(tǒng)的數(shù)據(jù)庫上執(zhí)行SQL操作,過去幾十年SQL(結(jié)構(gòu)化查詢語言)得到了廣泛的應(yīng)用。比如說你有一個數(shù)字圖書的集合,那么你可以自己建立一個查詢,返回給你所有作者的名單,或者涉及某個特定領(lǐng)域的作者的列表。
“這是一個類似SQL風(fēng)格的語言,讓你能夠在不編程的前提下輕松的定義(你需要的)特定的查詢或重復(fù)的查詢。你只需要把查詢(命令)輸入命令行,”管理谷歌基礎(chǔ)架構(gòu)的Urs Hölzle說。
(與SQL的)不同之處在于Dremal在極快的時間內(nèi)處理像網(wǎng)頁集合這樣規(guī)模的數(shù)據(jù)。谷歌的論文中給出的數(shù)據(jù)說你能夠在幾秒鐘之內(nèi)查詢數(shù)PB的數(shù)據(jù)(PB等于一百萬GB)。
Hadoop已經(jīng)提供了相應(yīng)工具,能夠在大數(shù)據(jù)集上運(yùn)行類SQL查詢。Hadoop的姊妹項(xiàng)目asPig和Hive就是專門為這個目的而建立。但是Hadoop有一個延遲時間。它是一個用來進(jìn)行“批處理”的平臺。你扔給它一個任務(wù),它需要幾分鐘或幾個小時來運(yùn)行,之后你才能拿到結(jié)果。 Dremel,是專門針對即時查詢的。
“Dremel能夠在大數(shù)據(jù)上同時執(zhí)行多個查詢操作。以前則需要寫一系列的MapReduce任務(wù),運(yùn)行時間也比Dremel多得多。Dremel在一個PB級別的數(shù)據(jù)上進(jìn)行查詢只需要三秒鐘。” Urs Hölzle援引谷歌Dremel論文(中的數(shù)據(jù))說。
Armando Fox表示這是史無前例的。Hadoop是“大數(shù)據(jù)”時代的杰作,用來構(gòu)建分析超大規(guī)模信息的工具。但是現(xiàn)在的大數(shù)據(jù)工具往往存在一些缺點(diǎn)。你不能指望在大數(shù)據(jù)(工具)上的查詢能夠達(dá)到傳統(tǒng)數(shù)據(jù)庫或商業(yè)智能工具的精度和速度。但是Fox說Dremel將能做到這一點(diǎn)。
“他們(的工作)既能進(jìn)行大規(guī)模的分析有能夠深入的查看數(shù)據(jù),這是我以前覺得不可能的事情,”他說,“能夠處理的數(shù)據(jù)的規(guī)模和處理數(shù)據(jù)的時間讓人印象深刻。以前人們也開發(fā)過不同的大數(shù)據(jù)系統(tǒng),但是還沒有哪個系統(tǒng)能夠像Dremel一樣能夠如此快速的處理如此多的數(shù)據(jù)。”
“一般來說,(速度和規(guī)模)你只能二選一。側(cè)重這邊就要放棄那邊。但是Dremel做到了兩者兼顧。”
從論文中看出早在2006年這個系統(tǒng)就已經(jīng)在谷歌內(nèi)部使用了,“數(shù)千個”谷歌員工用它來分析從軟件崩潰報告、各種谷歌服務(wù)數(shù)據(jù)到數(shù)據(jù)中心內(nèi)部硬盤行為數(shù)據(jù)等所有事情。這個系統(tǒng)經(jīng)常在數(shù)十臺甚至數(shù)千臺機(jī)器上運(yùn)行。
Hadoop的成功是無可否認(rèn)的,但是Clodera CEO邁克·奧爾森覺得(跟谷歌相比)開發(fā)這個平臺的公司和開發(fā)人員有些落后了。在Dremel上我們看到了同樣的事情。谷歌在2010年發(fā)表了Dremel,但是我們?nèi)匀恍枰荛L的時間才能看到由第三方開發(fā)人員仿制的系統(tǒng)出來。一個來自以色列的工程團(tuán)隊(duì)正在構(gòu)造一個叫做OpenDremel的類似系統(tǒng),雖然開發(fā)人員之一David Gruzman說他們中斷了很長時間,現(xiàn)在才開始編碼。
邁克·米勒是華盛頓大學(xué)粒子物理學(xué)合聘教授,同時也是Cloudant公司首席科學(xué)家。這家公司需要解決的數(shù)據(jù)問題與谷歌這些年遇到的問題有很多相似點(diǎn)。我們很驚訝一家旨在逆向Dremel的初創(chuàng)公司得到了若干知名風(fēng)投的支持。
即使你不是谷歌員工 ,如今可以使用Dremel了。谷歌現(xiàn)在提供了一個基于Dremel的網(wǎng)頁服務(wù)BigQuery。你可以通過網(wǎng)頁API使用這個平臺。基本上只要上傳了你的數(shù)據(jù)就可以利用谷歌的內(nèi)部架構(gòu)來執(zhí)行查詢了。
這是谷歌提供的越來越多的云服務(wù)的一部分。起初谷歌允許你通過GAE在谷歌的架構(gòu)上編譯、運(yùn)行整個應(yīng)用程序,而現(xiàn)在增加了對包括BigQuery和Google Compute Engine(用于即時訪問虛擬服務(wù)器)在內(nèi)的大量工具。
谷歌走在了世界前列。而他正在促進(jìn)世界上其它的公司進(jìn)步。
Cade Metz是連線企業(yè)版的編輯。對本文感興趣?給他發(fā)電郵吧: cade_metz at wired.com。