Google將放棄MapReduce 新索引系統(tǒng)將遷移至BigTable
據(jù)國(guó)外媒體報(bào)道,Google在新型網(wǎng)絡(luò)內(nèi)容索引系統(tǒng)——Caffeine中,將放棄以MapReduce為基礎(chǔ)架構(gòu)的分布式計(jì)算平臺(tái)。MapReduce是曾經(jīng)是Google的一項(xiàng)重要技術(shù),用以進(jìn)行大數(shù)據(jù)量的計(jì)算。
據(jù)Google高級(jí)主管Eisar Lipkovitz表示,在Caffeine中,Google的后端索引系統(tǒng)將從MapReduce上移除,并向Google新建的分布式數(shù)據(jù)庫(kù)平臺(tái)——BigTable上進(jìn)行遷移。他表示,谷歌將于下月在USENIX研討會(huì)上提交一項(xiàng)新的文件討論系統(tǒng)。
51CTO向您推薦:Bigtable探秘 Google分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)
據(jù)了解,從去年開(kāi)始,Google就已經(jīng)啟動(dòng)了代號(hào)為“Colossus”的研發(fā)計(jì)劃,主要內(nèi)容圍繞新的分布式文件系統(tǒng)——Caffeine進(jìn)行研發(fā)。Caffeine將創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)的編程模型,而這也意味著Google必須在BigTable上重建整個(gè)索引系統(tǒng)。
MapReduce完成歷史使命
必須看到的是,在Google的直接競(jìng)爭(zhēng)對(duì)手——Yahoo、Facebook們對(duì)MapReduce飽含熱情進(jìn)行研發(fā)投入的同時(shí),Google卻宣布放棄MapReduce,不得不佩服Google的勇氣。
實(shí)際上,早在Caffeine建立之前,Google就建立了基于MapReduce的搜索索引系統(tǒng)。從本質(zhì)上而言,這個(gè)索引是由序列的批處理操作組成的。它通過(guò)把對(duì)數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)進(jìn)行運(yùn)算,而每個(gè)節(jié)點(diǎn)會(huì)周期性的把完成的工作和狀態(tài)的更新報(bào)告回主計(jì)算。
Lipkovitz首先談到了Google基于MapReduce文件索引系統(tǒng)處理方式。“我們必須面對(duì)一個(gè)非常龐大的數(shù)據(jù)系統(tǒng),在這之前,我們需要等待8個(gè)小時(shí)的計(jì)算時(shí)間我們才能夠得到計(jì)算的全結(jié)果,然后我們就會(huì)把它發(fā)布到索引系統(tǒng)中去。過(guò)去我們一直在不停地重復(fù)這個(gè)耗時(shí)耗力的工作。”
Lipkovitz進(jìn)一步解釋了Google放棄MapReduce的原因,“MapReduce僅僅是一個(gè)批處理操作方式,”Lipkovitz解釋說(shuō),“一般來(lái)說(shuō)你不能啟動(dòng)下一階段的命令操作,直到你完成第一項(xiàng)操作。”
可以看到,Google之所以放棄MapReduce,是因?yàn)樗⒉荒転楣雀杼峁┧胍乃饕俣龋貏e是隨著實(shí)時(shí)檢索時(shí)代的到來(lái),谷歌需要的是在幾秒內(nèi)刷新索引內(nèi)容,而非8小時(shí)。實(shí)際上,在過(guò)去的幾年里,針對(duì)MapReduce的技術(shù)討論可謂是褒貶不一。
麻省理工學(xué)院的數(shù)據(jù)庫(kù)專家Mike Stonebraker認(rèn)為,MapReduce的計(jì)算方法對(duì)于實(shí)時(shí)計(jì)算來(lái)說(shuō)是很不合適的,是過(guò)時(shí)的。
“MapReduce就像是游擊隊(duì)員而非正規(guī)軍”,Lipkovitz表示,“如果你想基于Mapreduces建立分布式文件處理系統(tǒng),如果你想實(shí)現(xiàn)更多的操作命令,那么必然會(huì)有錯(cuò)誤發(fā)生。況且你并不能縮短處理的時(shí)間,這是Google選擇放棄Mapreduces的原因。”
Caffeine的處理原理
據(jù)了解,Google從2009年8月就開(kāi)始測(cè)試Caffeine。當(dāng)時(shí),Google曾表示新索引技術(shù)將是自2006年以來(lái)的重大變革。速度和綜合性是新技術(shù)關(guān)注的目標(biāo)。Google曾表示,新系統(tǒng)需與網(wǎng)絡(luò)內(nèi)容的爆炸性增長(zhǎng)保持同步,過(guò)去兩年中,博客、視頻和社交媒體技術(shù)都蜂擁至網(wǎng)絡(luò)。借助Caffeine,Google將加快索引次數(shù)的更新,對(duì)一小部分網(wǎng)絡(luò)進(jìn)行消化,而不是對(duì)整個(gè)網(wǎng)絡(luò)重新索引并更新索引內(nèi)容。
Google軟件工程師卡莉·格蘭姆斯(Carrie Grimes)在博客中稱:“我們將把Caffeine列為未來(lái)考慮重點(diǎn),不僅使之索引更多新結(jié)果,還要將之打造為適應(yīng)網(wǎng)絡(luò)消息增長(zhǎng)的速度更快、理解力更高的搜索引擎,為用戶提供相關(guān)度更高的搜索結(jié)果。”
關(guān)于“Colossus”計(jì)劃
“我們需要一個(gè)新的計(jì)算框架”,Lipkovitz說(shuō),這使工程師能夠在BigTable上編寫(xiě)代碼,而該系統(tǒng)是基于“Colossus”建立的分布式存儲(chǔ)平臺(tái)——也被稱為GFS2。“原有的基于MapReduce的文件系統(tǒng),不能達(dá)到Google所需要的計(jì)算規(guī)模。”
據(jù)了解,“Colossus”是專門(mén)設(shè)計(jì)BigTable的開(kāi)發(fā)計(jì)劃,基于這個(gè)原因,它并不針對(duì)傳統(tǒng)的分布式存儲(chǔ)平臺(tái)應(yīng)用。換句話說(shuō),它是專為建立新的Caffeine搜索索引系統(tǒng)而用的,雖然它可能會(huì)在Google的其它內(nèi)容所服務(wù),但其并未跨越整個(gè)谷歌的基礎(chǔ)設(shè)施系統(tǒng)。
在Google的實(shí)時(shí)搜索引擎Instant的發(fā)布上,谷歌著名的工程師Ben Gomes表示,Caffeine并未在Instant架構(gòu)中,但它的確有助于幫助把數(shù)據(jù)處理實(shí)現(xiàn)“分布”式搜索服務(wù)。
Lipkovitz同時(shí)指出,MapReduce并非意味著消亡,在Caffeine中,仍然有基于MapReduce的批處理應(yīng)用,以及全球尚有其它的基礎(chǔ)設(shè)施。而在Caffeine的誕生之前,索引系統(tǒng)是谷歌最大的MapReduce的應(yīng)用程序。
關(guān)于MapReduce
在Google數(shù)據(jù)中心會(huì)有大規(guī)模數(shù)據(jù)需要處理,比如被網(wǎng)絡(luò)爬蟲(chóng)抓取的大量網(wǎng)頁(yè)等。由于這些數(shù)據(jù)很多都是PB級(jí)別,導(dǎo)致處理工作不得不盡可能的并行化,而Google為了解決這個(gè)問(wèn)題,引入了 MapReduce這個(gè)編程模型,MapReduce是源自函數(shù)式語(yǔ)言,主要通過(guò)"Map(映射)"和"Reduce(化簡(jiǎn))"這兩個(gè)步驟來(lái)并行處理大規(guī)模的數(shù)據(jù)集。
Map會(huì)先對(duì)由很多獨(dú)立元素組成的邏輯列表中的每一個(gè)元素進(jìn)行指定的操作,且原始列表不會(huì)被更改,會(huì)創(chuàng)建多個(gè)新的列表來(lái)保存Map的處理結(jié)果。也就意味著,Map操作是高度并行的。當(dāng)Map工作完成之后,系統(tǒng)會(huì)先對(duì)新生成的多個(gè)列表進(jìn)行清理(Shuffle)和排序,之后會(huì)這些新創(chuàng)建的列表 進(jìn)行Reduce操作,也就是對(duì)一個(gè)列表中的元素根據(jù)Key值進(jìn)行適當(dāng)?shù)暮喜ⅰ?/p>
通過(guò)MapReduce這么簡(jiǎn)單的編程模型,不僅能用于處理大規(guī)模數(shù)據(jù),而且能將很多繁瑣的細(xì)節(jié)隱藏起來(lái),比如自動(dòng)并行化,負(fù)載均衡和機(jī) 器宕機(jī)處理等,這樣將極大地簡(jiǎn)化程序員的開(kāi)發(fā)工作。MapReduce可用于包括“分布grep,分布排序,web訪問(wèn)日志分析,反向索引構(gòu)建,文檔聚 類,機(jī)器學(xué)習(xí),基于統(tǒng)計(jì)的機(jī)器翻譯,生成Google的整個(gè)搜索的索引“等大規(guī)模數(shù)據(jù)處理工作。Yahoo也推出MapReduce的開(kāi)源版本 Hadoop,而且Hadoop在業(yè)界也已經(jīng)被大規(guī)模使用。
原文鏈接:http://www.theregister.co.uk/2010/09/09/google_caffeine_explained/
【編輯推薦】






















