揭秘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.mzph.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实体对象时“…