在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)用程序。
原文鏈接:http://www.theregister.co.uk/2010/09/09/google_caffeine_explained/
關(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ù)暮喜ⅰ?/SPAN> 通過(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ī)模使用。 |
微信關(guān)注公眾號(hào)“cncompute_com ”,為您奉上最新最熱的計(jì)算頭條資訊,干貨滿滿。