北京時(shí)間8月16日消息,《連線》雜志近日刊載文章稱,開源云計(jì)算軟件平臺Hadoop已經(jīng)在整個(gè)網(wǎng)絡(luò)中得到了廣泛的運(yùn)用,無論是在數(shù)據(jù)分析領(lǐng)域還是在其他各種數(shù)據(jù)運(yùn)算任務(wù)中都是如此;但是,谷歌已經(jīng)開發(fā)出了更新的技術(shù)Dremel,這是一種用來分析信息的方法,它可以在數(shù)以千計(jì)的服務(wù)器上運(yùn)行,能以極快的速度處理網(wǎng)絡(luò)規(guī)模的海量數(shù)據(jù),從而讓“大數(shù)據(jù)”看起來變小。
以下是這篇文章的全文:
邁克·奧爾森,Hadoop運(yùn)動背后的首腦之一。
邁克·奧爾森(Mike Olson)運(yùn)營著一家專業(yè)致力于全球最熱門軟件的公司,他是硅谷創(chuàng)業(yè)公司Cloudera的首席執(zhí)行官,這家公司在開源云計(jì)算軟件平臺Hadoop上經(jīng)營自身業(yè)務(wù),這個(gè)平臺以將谷歌變成網(wǎng)絡(luò)上最具主導(dǎo)性的力量的技術(shù)為基礎(chǔ)。
據(jù)預(yù)計(jì),Hadoop將在2016年以前幫助創(chuàng)造一個(gè)8.13億美元的軟件市場。但甚至就連奧爾森都說,這已經(jīng)是舊新聞了。
Hadoop來自于谷歌在2003年底和2004年發(fā)布的兩份研究報(bào)告,其中一份描述了谷歌文件系統(tǒng)(Google File System),這是在數(shù)以千計(jì)的低價(jià)電腦服務(wù)器上存儲海量數(shù)據(jù)的一種方式;另一份則詳細(xì)描述了MapReduce,這種技術(shù)能將所有那些服務(wù)器內(nèi)部的處理能力整合起來,對所有數(shù)據(jù)進(jìn)行運(yùn)算,使其變成某種有用的東西。在8年以后,Hadoop在整個(gè)網(wǎng)絡(luò)中得到了廣泛的運(yùn)用,無論是在數(shù)據(jù)分析領(lǐng)域還是在其他各種數(shù)據(jù)運(yùn)算任務(wù)中都是如此。但是,谷歌卻已更進(jìn)一步,開發(fā)出了更新的技術(shù)。
在2009年,這個(gè)網(wǎng)絡(luò)巨頭開始用新技術(shù)取代GFS和MapReduce。奧爾森會告訴你說,這些技術(shù)是整個(gè)世界正在走向的去處。“如果你想要知道未來大規(guī)模的、高性能的數(shù)據(jù)處理基礎(chǔ)設(shè)施是什么樣子的,我的建議是你可以去看看谷歌現(xiàn)在將會發(fā)布的研究報(bào)告。”奧爾森在最近與《連線》雜志進(jìn)行小組討論時(shí)說道。
自Hadoop崛起以來,谷歌已經(jīng)發(fā)布了三份特別有趣的研究報(bào)告,內(nèi)容有關(guān)為其龐大的網(wǎng)絡(luò)業(yè)務(wù)提供支撐的基礎(chǔ)設(shè)施。其中一份文件詳細(xì)描述了Caffeine,這個(gè)軟件平臺為谷歌的網(wǎng)絡(luò)搜索引擎構(gòu)建了指引;另一份則展示了Pregel,這是一個(gè)旨在映射大量在線信息之間關(guān)系的“圖表數(shù)據(jù)庫”。但最有趣的論文則描述了一種名為Dremel的工具。
“如果你曾事先告訴我Dremel聲稱其將可做些什么,那么我不會相信你能開發(fā)出這種工具。”加利福尼亞大學(xué)伯克利分校的計(jì)算機(jī)科學(xué)教授阿曼多·??怂梗ˋrmando Fox)說道,他專業(yè)致力于研究這種數(shù)據(jù)中心規(guī)模的軟件平臺。
Dremel是一種用來分析信息的方法,它可以在數(shù)以千計(jì)的服務(wù)器上運(yùn)行,允許你“請求查詢”海量數(shù)據(jù),如網(wǎng)絡(luò)文件的集合或是數(shù)字圖書館等,甚至是描述成百上千萬條垃圾游戲信息的數(shù)據(jù)。這類似于分析一個(gè)使用SQ語言L的傳統(tǒng)數(shù)據(jù)庫,這種語言在過去數(shù)十年時(shí)間里廣泛應(yīng)用于整個(gè)軟件世界。舉例來說,如果你擁有一個(gè)數(shù)字圖書的集合,那么就可以運(yùn)行一個(gè)專設(shè)的查詢請求,然后就可獲得所有作者的名單——或是圖書內(nèi)容覆蓋某個(gè)特定主題的作者名單。
“你擁有一種類似于SQL的語言,能讓制定專設(shè)的查詢請求變得非常簡單——而且,你不需要做任何編程工作,只需將查詢請求輸入到命令行里即可。”負(fù)責(zé)管理谷歌基礎(chǔ)設(shè)施的Urs Holzle說道。
區(qū)別在于,Dremel能以極快的速度處理網(wǎng)絡(luò)規(guī)模的海量數(shù)據(jù)。據(jù)谷歌的研究報(bào)告顯示,你能以拍字節(jié)(petabyte,PB,1PB等于1024TB)的數(shù)量級來進(jìn)行查詢,而且只需幾秒鐘時(shí)間就能完成。
Hadoop已經(jīng)提供了在龐大的數(shù)據(jù)集合中運(yùn)行SQL查詢請求的工具,Pig和Hive等姊妹項(xiàng)目也是為此而構(gòu)建的,但使用Hadoop會有遲延時(shí)間。這是一個(gè)“批量處理”平臺,你可以交給它一個(gè)任務(wù),然后它需要花費(fèi)幾分鐘時(shí)間——或者是幾個(gè)小時(shí)——來運(yùn)行這個(gè)任務(wù),然后可以得到查詢結(jié)果。而與此相比,Dremel則是專門為瞬時(shí)查詢而設(shè)計(jì)的。
“Dremel能執(zhí)行許多查詢請求,而同樣的數(shù)據(jù)如果由MapReduce來處理,則通常會需要向后者給出一系列的任務(wù),而且前者的執(zhí)行時(shí)間僅相當(dāng)于后者很小的一部分。”谷歌的Dremel報(bào)告指出。Holzle稱,Dremel能在大約3秒鐘時(shí)間里運(yùn)行1PB的數(shù)據(jù)查詢請求。
阿曼多·福克斯稱,這種處理能力是史無前例的。Hadoop是“大數(shù)據(jù)”運(yùn)動的中心,這場運(yùn)動旨在構(gòu)建能夠分析海量信息的工具。但就今天的大數(shù)據(jù)工具而言,它們經(jīng)常都會存在一種缺點(diǎn)。與傳統(tǒng)的數(shù)據(jù)分析或是“商務(wù)智能”工具相比,大數(shù)據(jù)工具的信息分析速度和精確度有所不及。但??怂怪赋?,如果使用Dremel,那么就能獲得很好的速度和精確度。
“他們成功地大規(guī)模的數(shù)據(jù)分析與真正深挖數(shù)據(jù)的能力結(jié)合到了一起,而且他們做到這一點(diǎn)的方式是我以前從未想到過有可能做到的。”他說道。“數(shù)據(jù)的規(guī)模以及挖掘數(shù)據(jù)的速度確實(shí)令人感到印象深刻。人們以前也曾做過大數(shù)據(jù)系統(tǒng),但在Dremel以前,沒人真的能做出一個(gè)如此龐大和如此迅速的系統(tǒng)。”他進(jìn)一步指出:“在通常情況下,你只能同時(shí)運(yùn)行一個(gè)任務(wù)或是另一個(gè)任務(wù);在一個(gè)任務(wù)方面做得越多,就越是不得不放棄另一個(gè)。但通過Dremel,你能同時(shí)進(jìn)行兩個(gè)任務(wù)。”
據(jù)谷歌的研究報(bào)告顯示,這個(gè)平臺自2006年開始就已經(jīng)在谷歌內(nèi)部使用,有“數(shù)千名”谷歌員工使用這個(gè)系統(tǒng)來對所有信息進(jìn)行分析,從軟件崩潰報(bào)告到谷歌的各種服務(wù),再到谷歌數(shù)據(jù)中心內(nèi)部的磁盤表現(xiàn)都可進(jìn)行分析。有些時(shí)候,這種工具會在數(shù)十個(gè)服務(wù)器上使用,而有些時(shí)候則多達(dá)數(shù)千個(gè)。
雖然Hadoop已經(jīng)取得了無可置疑的成功,但奧爾森則指出,構(gòu)建這個(gè)平臺的公司和開發(fā)者慢了一拍。同樣的事情也發(fā)生在Dremel身上。谷歌在2010年就發(fā)布了有關(guān)Dremel的報(bào)告,但距離這個(gè)平臺能被第三方開發(fā)者模仿仍有很長一段路要走。以色列的一個(gè)團(tuán)隊(duì)正在構(gòu)建一個(gè)被稱為OpenDremel的克隆版平臺,但其中一位名叫大衛(wèi)·格魯茲曼(David Gruzman)的開發(fā)者告訴我們,在經(jīng)過漫長的時(shí)間以后,這個(gè)平臺的編碼進(jìn)程還只是處在開端階段。
華盛頓大學(xué)的粒子物理學(xué)副教授、創(chuàng)業(yè)公司Cloudant的首席科學(xué)家邁克·米勒(Mike Miller)感到吃驚,原因是我們并未看到某些大型的風(fēng)險(xiǎn)投資公司為一家致力于“逆向工程”Dremel的創(chuàng)業(yè)公司提供融資。在過去多年時(shí)間里,Cloudant曾處理過與谷歌所面臨的數(shù)據(jù)問題相同的許多問題。
今天你可以使用Dremel——即使你并非谷歌的工程師。谷歌現(xiàn)在提供一種被其稱為BigQuer的Dremel網(wǎng)路服務(wù)。你可以通過一個(gè)在線API(應(yīng)用程序接口)來使用這個(gè)平臺?;旧蟻碚f,你可以把你的數(shù)據(jù)上傳到谷歌,然后谷歌會允許你在它的內(nèi)部基礎(chǔ)設(shè)施中運(yùn)行查詢請求。谷歌所提供的云服務(wù)數(shù)量正在增長,而這種服務(wù)也是其中一部分。在最早的時(shí)候,谷歌允許你使用一種名為Google App Engine的服務(wù)來在其基礎(chǔ)設(shè)施中托管所有應(yīng)用;而時(shí)至今日,谷歌則提供其他多種能在同樣的基礎(chǔ)設(shè)施上運(yùn)行的設(shè)施,包括BigQuery和Google Compute Engine等,能讓用戶瞬時(shí)接入虛擬服務(wù)器。
世界的其他部分可能落后于谷歌,而谷歌則正將自己帶給世界的其他部分。