Google搜索引擎已经赢得全球范围的赞誉,而这一切都要归功于Google开创性的MapReduce。Google搜索引擎算法只是其搜索引擎的一部分,在后台支持Google算法的基础设施才是真正的幕后英雄,其基础设施可快速的索引链接成千上万台普通服务器。MapReduce的成功也直接推动了Hadoop的发展。现今从Facebook、Twitter、eBay、LinkedIn以及eBay都受其影响,而为了适应大数据时代的浪潮他们必须有进一步的举措。
HarryShum已经在Microsoft研究院工作了11年,现在他负责研发MicrosoftBing搜索引擎,以对抗Google搜索。(图片来自Microsoft)
在2010年,Google搜索引擎发生了重大变革。Google将其搜索迁移到新的软件平台,他们称之为“Caffeine”。Caffeine是Google出自自身的设计,Caffeine使Google能够更迅速的添加新的链接(包括新闻报道以及博客文章等)到自身大规模的网站索引系统中,相比于以往的系统,新系统可提供“50%新生”的搜索结果。
而这一切都要归功于Google开创性的MapReduce。Google搜索引擎算法只是其搜索引擎的一部分,在后台支持Google算法的基础设施才是真正的幕后英雄,其基础设施可快速的索引链接成千上万台普通服务器。MapReduce的成功也直接推动了Hadoop的发展。现今从Facebook、Twitter、eBay、LinkedIn以及eBay都受其影响,而为了适应大数据时代的浪潮他们必须有进一步的举措。
Google在基于Web的分布式计算系统领域已经赢得了赞誉。而MicrosoftBing搜索引擎的负责人HarryShum认为Microsoft虽然没有“Caffeine”的支持,但Bing搜索(利用数以万计的服务器软件平台处理数据)的能力丝毫不输给Google。GoogleCaffeine的优势在于快速抓取、编制索引和服务器文档。而Bing在这方面也是非常出色的。但这一切都需要基础设施的支持。
HarryShum于2007年加入Bing团队,HarryShum已经在Microsoft研究院工作了11年。HarryShum的目标就是让Bing在搜索引擎领域技术赶上Google。在过去五年中,Google仍旧是全球最出色的搜索引擎,有人预计其市场占有率可能高达85%或90%。但HarryShum深信Bing终将在技术水平上赶超Google。多年来,我们一直在努力完善,在经过持之以恒的努力后,Bing的搜索质量已经接近Google的水平。HarryShum说到。
毫无疑问,Google不会赞同HarryShum的说法,Google的工程师认为Caffeine是非常重要的。Caffeine索引覆盖1亿GB数据。Caffeine可在几秒或几分钟的时间从新闻网站或博客中添加内容。
HarryShum认为Bing索引系统与Caffeine不同。他表示虽然Google声称他们一些重大的技术是最新的。但Caffeine的一些功能Bing已经在内部运行了。但同时我们也要构建新的技术,以完善我们的系统,我们也在这样做着。
当讨论软件时,无论是Google还是Microsoft都避而不谈支撑他们搜索引擎和其他Web服务的技术。但HarryShum表示驱动Bing的专有软件平台被称之为Cosmos。这在Microsoft研究院发布研究论文有所提及。Cosmos类似于Google构建与MapReduce之上的GFS(GoogleFileSystem)。HarryShum同时表示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。
HortonworksCEOBaldeschwieler认为Google将Caffeine用于搜索中是非常令人信服的创意。当Baldeschwieler还在Yahoo工作时,公司曾考虑过这样的平台,但因为昂贵的成本最终决心走Hadoop路线。