導讀:Google搜索引擎已經贏得全球范圍的贊譽,而這一切都要歸功于Google開創性的MapReduce。Google搜索引擎算法只是其搜索引擎的一部分,在后臺支持Google算法的基礎設施才是真正的幕后英雄,其基礎設施可快速的索引鏈接成千上萬臺普通服務器。MapReduce的成功也直接推動了Hadoop的發展。現今從Facebook、Twitter、eBay、LinkedIn以及eBay都受其影響,而為了適應大數據時代的浪潮他們必須有進一步的舉措。
Harry Shum已經在Microsoft研究院工作了11年,現在他負責研發Microsoft Bing搜索引擎,以對抗Google 搜索。(圖片來自Microsoft)
在2010年,Google搜索引擎發生了重大變革。Google將其搜索遷移到新的軟件平臺,他們稱之為“Caffeine”。Caffeine是Google出自自身的設計,Caffeine使Google能夠更迅速的添加新的鏈接(包括新聞報道以及博客文章等)到自身大規模的網站索引系統中,相比于以往的系統,新系統可提供“50%新生”的搜索結果。
而這一切都要歸功于Google開創性的MapReduce。Google搜索引擎算法只是其搜索引擎的一部分,在后臺支持Google算法的基礎設施才是真正的幕后英雄,其基礎設施可快速的索引鏈接成千上萬臺普通服務器。MapReduce的成功也直接推動了Hadoop的發展。現今從Facebook、Twitter、eBay、LinkedIn以及eBay都受其影響,而為了適應大數據時代的浪潮他們必須有進一步的舉措。
Google在基于Web的分布式計算系統領域已經贏得了贊譽。而Microsoft Bing搜索引擎的負責人Harry Shum認為Microsoft雖然沒有“Caffeine”的支持,但Bing搜索(利用數以萬計的服務器軟件平臺處理數據)的能力絲毫不輸給Google。Google Caffeine的優勢在于快速抓取、編制索引和服務器文檔。而Bing在這方面也是非常出色的。但這一切都需要基礎設施的支持。
Harry Shum于2007年加入Bing團隊,Harry Shum已經在Microsoft研究院工作了11年。Harry Shum的目標就是讓Bing在搜索引擎領域技術趕上Google。在過去五年中,Google仍舊是全球最出色的搜索引擎,有人預計其市場占有率可能高達85%或90%。但Harry Shum深信Bing終將在技術水平上趕超Google。多年來,我們一直在努力完善,在經過持之以恒的努力后,Bing的搜索質量已經接近Google的水平。Harry Shum說到。
毫無疑問,Google不會贊同Harry Shum的說法,Google的工程師認為Caffeine是非常重要的。Caffeine索引覆蓋1億GB數據。Caffeine可在幾秒或幾分鐘的時間從新聞網站或博客中添加內容。
Harry Shum認為Bing索引系統與Caffeine不同。他表示雖然Google聲稱他們一些重大的技術是最新的。但Caffeine的一些功能Bing已經在內部運行了。但同時我們也要構建新的技術,以完善我們的系統,我們也在這樣做著。
當討論軟件時,無論是Google還是Microsoft都避而不談支撐他們搜索引擎和其他Web服務的技術。但Harry Shum表示驅動Bing的專有軟件平臺被稱之為Cosmos。這在Microsoft研究院發布研究論文有所提及。Cosmos類似于Google構建與MapReduce之上的GFS(Google File System)。Harry Shum同時表示Microsoft正在設法完善并擴大Cosmos平臺,以便使之能夠幫助Bing搜索引擎達到實時收錄的地步。
在Google采用Caffeine之前,Google使用MapReduce和分布式文件系統(如GFS)來構建搜索索引(從已知的Web頁面索引中)。MapReduce是一種處理大型及超大型數據集并生成相關的執行的編程模型。其主要思想是從函數式編程語言里借來的,同時也包含了從矢量編程語言里借來的特性。MapReduce將整個任務分解成成百甚至上千塊小任務,然后發送到計算機集群中。
Google的網絡爬蟲會從整個網絡中抓取相關的文件信息。然后將信息分發到Google全球配置了GFS的網絡服務器中。而MapReduce負責在服務器協調數據處理的任務,以便可以將處理好的所有數據分配到人們實際搜索的頁面索引中。在Google剛剛推出搜索引擎時,MapReduce每個月都會建立新的索引。后來,Google改善了系統,并逐步減少re-crunch索引所需的時間。但當需求達到新的高度時,就需要動態的方式來更新索引。于是Google進入了Caffeine時代。
Goolge的技術使得系統可以很快的抓取頁面并添加到索引之中。在過去,因為在每次更新索引要分析整個Web,這導致Google需要處理大量的索引頁(數十億的文檔)。但自從Google采用Caffeine后,Google只需從Web中分析其中的一小部分,所以Google可以持續不斷的更新索引。
在本質上Caffeine丟棄MapReduce轉而將索引放置在由Google開發的分布式數據庫BigTable上。作為Google繼GFS和MapReduce兩項創新后的又一項創新,其在設計用來針對海量數據處理情形下的管理結構型數據方面具有巨大的優勢。這種海量數據可以定義為在云計算平臺中數千臺普通服務器上PB級的數據。Bigtable的出現也徹底改變了Google的索引機制。Google正在構建新版本的GFS,其被稱為GFS2,但在Google內部GFS2被稱為Colossus。
Hortonworks CEO Baldeschwieler認為Google將Caffeine用于搜索中是非常令人信服的創意。當Baldeschwieler還在Yahoo工作時,公司曾考慮過這樣的平臺,但因為昂貴的成本最終決心走Hadoop路線。
Microsoft的Harry Shum表示相對于Google Caffeine,Microsoft選擇了不同的道路和發展方向。雖然他并沒有透露過多的細節,但Harry Shum表示Microsoft目前基于Cosmos平臺是更多并行的數據庫。
Dryad在微軟軟體系結構中的位置
去年,微軟曾公布了建立與Cosmos之上的Dryad框架,這個類似MapReduce的框架一直驅動著Bing。但目前無法得知Dryad在Bing搜索引擎中占據怎樣的角色。其實Dryad也并非微軟的新產品,Dryad和DryadLINQ早在微軟收購Powerset之前就已經存在。微軟于2007年首度揭曉了關于技術的研究成果,并于2009年向學術界推出了非商業版Dryad和DryadLINQ。但與MapReduce不同的是,Dryad是針對運行Windows HPC Server的集群計算設計的,而非Linux。
Mike Olsen表示Dryad在許多方面都優于Hadoop,Dryad是經過精心設計的。但Microsoft已經在去年決定Hortonworks合作提供Windows平臺之上的Hadoop,目前還不清楚Microsoft是否還會繼續研究Dryad。然而Harry Shum表示Microsoft將繼續經營Cosmos以及其周邊的平臺和基礎設施項目。
Hortonworks CEO Eric Baldeschwieler表示不會使用Cosmos和其他的Microsoft搜索平臺的基礎設施工具。在大多數情況下,那些技術僅用于Microsoft內部。同時Baldeschwieler也證實了Cosmos和Dryad確實類似GFS和MapReduce,但他表示他并不了解Cosmos上并行數據庫的訊息。
Mike Olsen表示”當MapReduce剛剛出現時,世界領先的數據庫設計人員都對它嗤之以鼻,在數據庫領域的所有人(包括我自己)都認為這是一個笑話。但Mike Olsen最終意識到MapReduce不應該只是一個數據庫,它的目的與眾不同,他們從未打算將它作為數據庫使用。大數據時代數據呈現不同的類型并需要不同的分析方法,而MapReduce正是為了解決這一問題的方案。
對MapReduce的全新認識也改變了Mike Olsen的想法,后來Mike Olsen創建名稱為Cloudera的公司,公司業務全部圍繞Hadoop展開。Cloudera提供的服務不僅提供給網絡公司,還跨越了眾多的行業。
Google與Microsoft在搜索領域的游戲還會繼續下去,雙方都意識到快速的更新索引已經變得非常重要。Google與Microsoft都在想一個新的方向發展(分布式數據庫)。存儲數據的設備分布在全球的服務器之中將成為未來趨勢,但這同時需要更有效的組織方式。但這絕不是終點,搜索引擎技術的演進還會繼續下去。(李智/編譯)
原文鏈接:Wired