揭秘Microsoft Bing與Google搜索背后的故事

導讀: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


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452358.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452358.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452358.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

激光計算機論文,激光技術論文(2)

激光技術論文篇二激光遙感技術摘要:的 應用 是日前古 建筑和 歷史 街區保護的新契機。本文首先介紹了的原理和應用現狀;然后重點闡述了基于的古建筑保護,包括:古建筑量測、古建筑三維重建和基于三維重建古建筑保護應用;并闡述了基于激光數據的…

數據庫簡單授權機制

SQL靈活的授權機制 數據庫管理員:擁有所有對象的所有權限根據實際情況不同的權限授予不同的用戶用戶:擁有自己建立的對象的全部的操作權限可以使用GRANT,把權限授予其他用戶被授權的用戶如果具有“繼續授權”的許可,可以把獲得的權…

【bzoj1565】[NOI2009]植物大戰僵尸 【網絡流】【最大權閉合子圖】

題解:可以看出每個格子有一些前驅,只有前驅都被消滅了才能走到這里。因為要求最大的權值和,所以我們可以用最大權閉合子圖來求解這題。最大權閉合子圖點這里! 然后讓蒟蒻講一講自己掉的坑。 首先,根據WYC大佬的博客&a…

HAProxy雜記(1)

HAProxy haproxy基礎 1、安裝haproxy [rootmaster1 ~]# yum -y install haproxy [rootmaster2 ~]# yum -y install haproxy查看haproxy生成的文件 : [rootmaster1 ~]# rpm -ql haproxy備份配置文件: [rootmaster1 haproxy]# cp haproxy.cfg{,.back} [roo…

編解碼標準H264 與 AVS 變換矩陣比較

在編解碼中,變換是最重要的一步,從開始的模擬離散變換,到現在國際和中國標準中的整數變換,變換取的壓縮是最重要的,在 DV等其他編解碼中,只使用變換進行壓縮, 下面對H264 和AVS使用的變換矩陣進…

計算機圖畫大賽作品六年級,打字能手顯本領,電腦繪畫展風采——記陸埠二小舉行電腦繪畫和電腦打字比賽...

為了提高小學生的計算機應用水平,培養學生動手能力和綜合素質,提升學生的信息素養,2019年5月23日、24日中午,陸埠鎮第二小學舉行了三四年級電腦打字和五六年級電腦繪畫比賽。本次比賽,3--6年級每班中選出3名學生參加&a…

數據庫角色

數據庫角色:被命名的一組與數據庫操作相關的權限1.角色是權限的集合 2.可以為一組具有相同權限的用戶創建一個角色 3.簡化授權的過程 一個角色的權限:直接授予這個角色的全部權限加上其他角色 授予這個角色的全部權限

變量在原型鏈中的查找順序

js原型鏈 下面是一道js題目:[javascript] view plaincopy function C1(name){ if(name){ this.name name; } } function C2(name){ this.name name; } function C3(name){ this.name name || "John"; } C1.p…

基于SpringBoot + Vue的圖書管理系統

功能概述 該圖書管理系統提供了一系列功能,包括圖書管理、圖書類型管理、讀者借閱歸還圖書、用戶管理和重置密碼等。 在圖書管理功能中,管理員可以方便地進行圖書信息的管理。他們可以添加新的圖書記錄,包括書名、作者、出版社、ISBN等信息&a…

交換機的工作轉發原理

交換機通常是運行在網絡OSI七層模型的第二層數據鏈路層,如圖中,第三層網絡層通常是路由器運行在該層 今天我們來看看,交換機的工作轉發原理是什么樣的。 交換機既然是利用端口進行網絡數據傳輸,那么它是如何識別數據是誰給誰的呢…

[UWP小白日記-14]正則表達式

原文:[UWP小白日記-14]正則表達式匹配2位浮點數: ^(([1-9][0-9]*\.{1}[0-9]{1,2})|([0]\.{1}[1-9][0-9]{1,2})|([0]\.\d{1,2})|([1-9][0-9]{1,2})|[1-9]\d*|([0][.][0-9][1-9]{1,2}))$

視圖機制對于數據庫的安全意義

視圖機制可以把要保密的數據對無權存取這些數據的用戶隱藏起來,對數據提供一定程度的安全保護,間接地實現支持存取謂詞的用戶權限定義。

2017計算機考試題上機,2017年計算機二級上機考試試題及答案

2017年計算機二級上機考試試題及答案20世紀60年代中期之前的第一代計算機網絡是以單個計算機為中心的遠程聯機系統。下面是小編整理的關于計算機二級上機考試試題,希望大家認真練習!1[單選題] 一棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹…

八個最好的輕量級Linux發行版

如果你在苦惱老舊的硬件無法利用,如果你想要一個能夠在不是很大的記憶棒上運行的系統,如果你想要在桌面端上運行200個虛擬機,那么你可以考慮一些“迷你”的Linux發行版。 曾經在08年介紹過當時的十大輕量級Linux,現在已經是2010年…

面向對象——三層架構(表現層、業務層、持久層)

① 持久層:采用DAO模式,建立實體類和數據庫表映射(ORM映射)。也就是哪個類對應哪個表,哪個屬性對應哪個列。持久層 的目的就是,完成對象數據和關系數據的轉換。 ② 業務層:采用事務腳本模式。將…

VMware安裝Centos7后有線線纜被拔出

背景:在win10 系統中的虛機軟件VMware Workstation中安裝CentOS7桌面版,安裝過程中沒有設置網絡 1.確認你win10系統打開了這兩個服務:VMware DHCP Service和VMware NAT Service 方法:電腦——右鍵——管理——服務和應用程序——服…

SpringCloud |第二篇: 服務消費者(Ribbon)

2019獨角獸企業重金招聘Python工程師標準>>> 一、Ribbon簡介 Ribbon是Netflix發布的開源項目,主要功能是提供客戶端的軟件負載均衡算法,將Netflix的中間層服務連接在一起。Ribbon客戶端組件提供一系列完善的配置項如連接超時,重試…

數據庫審計

啟用一個專用的審計日志(Audit Log)將用戶對數據庫的所有操作記錄在上面。審計員利用審計日志監控數據庫中的各種行為,找出非法存取數據的人、時間和內容。 審計很費時間和空間 DBA可以根據應用對安全性的要求,靈活地打開或關閉…

北海市計算機等級考試,2021上半年北海市計算機二級報名時間|網上報名入口【已開通】...

&nbsp&nbsp[導讀]:2021上半年北海市計算機二級報名時間|網上報名入口【已開通】,更多廣西等級考試報名時間、考試時間以及考試模擬試題,請訪問易考吧廣西等級考試欄目2021上半年北海市計算機二級報名時間|網上報名入口【已開通】一、報名時間網上…

Java實體對象為什么一定要實現Serializable接口呢?

文章目錄Java對象為什么要實現Serializable接口?Serializable接口概述Java對象為什么要實現Serializable接口? 最近這段時間一直在忙著編寫Java業務代碼,麻木地搬著Ctrl-C、Ctrl-V的磚,在不知道重復了多少次定義Java實體對象時“…