摘要:Google在2003年到2004年公布了關(guān)于GFS、MapReduce和BigTable三篇技術(shù)論文,這也成為后來云計(jì)算發(fā)展的重要基石,如今Google在后Hadoop時(shí)代的新“三駕馬車”——Caffeine、Pregel、Dremel再一次影響著全球大數(shù)據(jù)技術(shù)的發(fā)展潮流。
Mike Olson是Hadoop運(yùn)動(dòng)背后的主要推動(dòng)者,但這還遠(yuǎn)遠(yuǎn)不夠,目前Google內(nèi)部使用的大數(shù)據(jù)軟件Dremel使大數(shù)據(jù)處理起來更加智能。 Mike Olson目前任職于世界上最熱的軟件專業(yè)公司——Cloudera(硅谷的創(chuàng)業(yè)企業(yè)),并擔(dān)任Cloudera的首席執(zhí)行官。Cloudera圍繞開源軟件平臺(tái)Hadoop發(fā)展自身的業(yè)務(wù),開源軟件平臺(tái)Hadoop已經(jīng)使得Google變身網(wǎng)絡(luò)上最主導(dǎo)的力量。 預(yù)計(jì)到2016年Hadoop將會(huì)推動(dòng)軟件市場(chǎng),并創(chuàng)造8.13億美元的價(jià)值。不過Mike Olson表示這已經(jīng)是老新聞了。 Hadoop的火爆要得益于Google在2003年底和2004年公布的兩篇研究論文,其中一份描述了GFS(Google File System),GFS是一個(gè)可擴(kuò)展的大型數(shù)據(jù)密集型應(yīng)用的分布式文件系統(tǒng),該文件系統(tǒng)可在廉價(jià)的硬件上運(yùn)行,并具有可靠的容錯(cuò)能力,該文件系統(tǒng)可為用戶提供極高的計(jì)算性能,而同時(shí)具備最小的硬件投資和運(yùn)營(yíng)成本。 另外一篇?jiǎng)t描述了MapReduce,MapReduce是一種處理大型及超大型數(shù)據(jù)集并生成相關(guān)執(zhí)行的編程模型。其主要思想是從函數(shù)式編程語言里借來的,同時(shí)也包含了從矢量編程語言里借來的特性。基于MapReduce編寫的程序是在成千上萬的普通PC機(jī)上被并行分布式自動(dòng)執(zhí)行的。8年后,Hadoop已經(jīng)被廣泛使用在網(wǎng)絡(luò)上,并涉及數(shù)據(jù)分析和各類數(shù)學(xué)運(yùn)算任務(wù)。但Google卻提出更好的技術(shù)。 在2009年,網(wǎng)絡(luò)巨頭開始使用新的技術(shù)取代GFS和MapReduce。Mike Olson表示“這些技術(shù)代表未來的趨勢(shì)。如果你想知道大規(guī)模、高性能的數(shù)據(jù)處理基礎(chǔ)設(shè)施的未來趨勢(shì)如何,我建議你看看Google即將推出的研究論文”。 自Hadoop興起以來,Google已經(jīng)發(fā)布了三篇研究論文,主要闡述了基礎(chǔ)設(shè)施如何支持龐大網(wǎng)絡(luò)操作。其中一份詳細(xì)描述了Caffeine,Caffeine主要為Google網(wǎng)絡(luò)搜索引擎提供支持。 在Google采用Caffeine之前,Google使用MapReduce和分布式文件系統(tǒng)(如GFS)來構(gòu)建搜索索引(從已知的Web頁面索引中)。在2010年,Google搜索引擎發(fā)生了重大變革。Google將其搜索遷移到新的軟件平臺(tái),他們稱之為“Caffeine”。Caffeine是Google出自自身的設(shè)計(jì),Caffeine使Google能夠更迅速的添加新的鏈接(包括新聞報(bào)道以及博客文章等)到自身大規(guī)模的網(wǎng)站索引系統(tǒng)中,相比于以往的系統(tǒng),新系統(tǒng)可提供“50%新生”的搜索結(jié)果。 在本質(zhì)上Caffeine丟棄MapReduce轉(zhuǎn)而將索引放置在由Google開發(fā)的分布式數(shù)據(jù)庫BigTable上。作為Google繼GFS和MapReduce兩項(xiàng)創(chuàng)新后的又一項(xiàng)創(chuàng)新,其在設(shè)計(jì)用來針對(duì)海量數(shù)據(jù)處理情形下的管理結(jié)構(gòu)型數(shù)據(jù)方面具有巨大的優(yōu)勢(shì)。這種海量數(shù)據(jù)可以定義為在云計(jì)算平臺(tái)中數(shù)千臺(tái)普通服務(wù)器上PB級(jí)的數(shù)據(jù)。 另一篇介紹了Pregel,Pregel主要繪制大量網(wǎng)上信息之間關(guān)系的“圖形數(shù)據(jù)庫”。而最吸引人的一篇論文要屬被稱之為Dremel的工具。 點(diǎn)擊查看大圖 專注于大型數(shù)據(jù)中心規(guī)模軟件平臺(tái)的加利福尼亞伯克利分校計(jì)算機(jī)科學(xué)教授Armando Fox表示“如果你事先告訴我Dremel可以做什么,那么我不會(huì)相信你可以把它開發(fā)出來”。 Dremel是一種分析信息的方式,Dremel可跨越數(shù)千臺(tái)服務(wù)器運(yùn)行,允許“查詢”大量的數(shù)據(jù),如Web文檔集合或數(shù)字圖書館,甚至是數(shù)以百萬計(jì)的垃圾信息的數(shù)據(jù)描述。這類似于使用結(jié)構(gòu)化查詢語言分析傳統(tǒng)關(guān)系數(shù)據(jù)庫,這種方式在過去幾十年被廣泛使用在世界各地。 Google基礎(chǔ)設(shè)施負(fù)責(zé)人Urs H?lzle表示“使用Dremel就好比你擁有類似SQL的語言,并可以無需任何編程的情況下只需將請(qǐng)求輸入命令行中就可以很容易的制定即席查詢和重復(fù)查詢”。 區(qū)別在于Dremel可以在極快的速度處理網(wǎng)絡(luò)規(guī)模的海量數(shù)據(jù)。據(jù)Google提交的文件顯示你可以在幾秒的時(shí)間處理PB級(jí)的數(shù)據(jù)查詢。 目前Hadoop已經(jīng)提供了在龐大數(shù)據(jù)集上運(yùn)行類似SQL的查詢工具(如Hadoop生態(tài)圈中的項(xiàng)目Pig和Hive)。但其會(huì)有一些延遲,例如當(dāng)部署任務(wù)時(shí),可能需要幾分鐘的時(shí)間或者幾小時(shí)的時(shí)間來執(zhí)行任務(wù),雖然可以得到查詢結(jié)果,但相比于Pig和Hive,Dremel幾乎是瞬時(shí)的。 Holzle表示Dremel可移執(zhí)行多種查詢,而同樣的任務(wù)如果使用MapReduce來執(zhí)行通差需要一個(gè)工作序列,但執(zhí)行時(shí)間確實(shí)前者的一小部分。Dremel可在大約3秒鐘時(shí)間里處理1PB的數(shù)據(jù)查詢請(qǐng)求。 Armando Fox表示Dremel是史無前例的,Hadoop作為大數(shù)據(jù)運(yùn)動(dòng)的核心一直致力構(gòu)建分析海量數(shù)據(jù)工具的生態(tài)圈。但就目前的大數(shù)據(jù)工具往往存在一個(gè)缺陷,與傳統(tǒng)的數(shù)據(jù)分析或商業(yè)智能工具相比,Hadoop在數(shù)據(jù)分析的速度和精度上還無法相比。但目前Dremel做到了魚和熊掌兼得。 Dremel做到了“不可能完成的任務(wù)”,Dremel設(shè)法將海量的數(shù)據(jù)分析于對(duì)數(shù)據(jù)的深入挖掘進(jìn)行有機(jī)的結(jié)合。Dremel所處理的數(shù)據(jù)規(guī)模的速度實(shí)在令人印象深刻,你可以舒適的探索數(shù)據(jù)。在Dremel出現(xiàn)之前還沒有類似的系統(tǒng)可以做的像Dremel這樣出色。 據(jù)Google提交的文件來看,Google從2006年就在內(nèi)部使用這個(gè)平臺(tái),有“數(shù)千名”的Google員工使用Dremel來分析一切,從Google各種服務(wù)的軟件崩潰報(bào)告到Google數(shù)據(jù)中心內(nèi)的磁盤行為。這種工具有時(shí)會(huì)在數(shù)十臺(tái)服務(wù)器上使用,有時(shí)則會(huì)在數(shù)以千計(jì)的服務(wù)器上使用。 Mike Olson表示盡管Hadoop取得的成功不容置疑,但構(gòu)建Hadoop生態(tài)圈的公司和企業(yè)顯然慢了,而同樣的情況也出現(xiàn)在Dremel上,Google在2010年公布了Dremel的相關(guān)文檔,但這個(gè)平臺(tái)還沒有被第三方企業(yè)充分利用起來,目前以色列的工程團(tuán)隊(duì)正在建設(shè)被稱為OpenDremel的克隆平臺(tái)。David Gruzman表示OpenDremel目前僅僅還在開始階段,還需要很長(zhǎng)時(shí)間進(jìn)行完善。 換句話說即使你不是Google的工程師你同樣可以使用Dremel。Google現(xiàn)在提供的BigQuery的服務(wù)就是基于Dremel。用戶可通過在線API來使用這個(gè)平臺(tái)。用戶可以把數(shù)據(jù)上傳到Google,并在Google基礎(chǔ)設(shè)施中運(yùn)行用戶的查詢服務(wù)。而這只是Google越來越多云服務(wù)的一部分。 早期用戶通過Google App Engine構(gòu)建、運(yùn)行、并將應(yīng)用托管在Google基礎(chǔ)設(shè)施平臺(tái)之上。而現(xiàn)今Google提供了包括BigQuery和Google Compute Engine等服務(wù)和基礎(chǔ)設(shè)施,這些服務(wù)和基礎(chǔ)設(shè)施可使用戶瞬時(shí)接入虛擬服務(wù)器。 全球很多技術(shù)都落后于Google,而Google自身的技術(shù)也正在影響全球。(李智/編輯) |
|