百度为什么可以这么的“百度”

[广告:最高 ¥2000 红包]阿里云服务器、主机等产品通用,可叠加官网常规优惠使用 | 限时领取

作者:veblen

这次回国的时候,因为Google被墙,直接用百度搜索了一下机场大巴,发现常用的搜索结果都非常令人失望。回想国内的对百度的各种舆论,心中也不免有这样的疑问,为什么百度搜索现在做的这么差,但直到现在没有看到他的竞争对手干掉它呢?

作为一位曾经的搜索一线工作者,忍不住想根据个人一点的知识和经验,试图自己的总结分析一下,也提供一些数据和技术介绍来帮助别人来建立起自己的观点。由于一些核心数据可能会受到相关公司保密限制,我大体上只会列一下数量级,大家有一点直观的感受就好了,毕竟这不一个教你如何做搜索引擎的文章。

谈百度大家都会认为它见钱眼开,所以我们从钱开始说起。今天的搜索引擎是一个非常烧钱的行业,GOOGLE和微软的每年投入都在几十亿美以上,前者更可能高达上百亿美元。这应该是今天互联网的投入最大的服务了。为什么要这么多钱?成本有两大块,一是研发成本,二是硬件成本。

搜索引擎相关的工程师可能前几年最昂贵的CS专业人力资源了,当然现在可能有点变化了。整个系统的开发,维护和运营需要近万名左右的工程师和研究人员,多数还在美国最昂贵的地区——加州硅谷地区。微软的BING之方面可能好一点,但是总额都是巨大的。那么这些人都在干什么呢?当然是解决相关的技术问题。可能有一些人看过一起PageRank的知识,觉得搜索技术也就是那么回事。但那只是GOOGLE发家时,才几台服务器时的故事了。今天的搜索引擎的技术比这个复杂多了。首先,要处理的数据量巨大无比,今天GOOGLE需要的存储的网页数据已经快到E这个数据级了,大家现在都说带宽多少G,硬盘有几个T,这些二进制的计数单位中,一般后一个是前一个的1024倍,T之后P,P之后才是E,可能想像一下,光是需要的硬盘数都是惊人的。今天最牛逼的超算对付这大规模的数据处理,也可能是撒撒水了。怎么办?答案只可能是靠多机并发的,这方面的基础技术GOOGLE独步全球,也是为什么它的搜索结果质量最好一个重要原因·,其它的因素后面再说,多机开发的难度,如果写点一个多线程或多进度的同学可能就会有点体会,但远比那个复杂。计算任务以何种粒度来并发,并发处理如何容错,等一堆头疼且没且没有理论答案的问题。GOOGLE最早提出的Map-Reduce,但是计算模型过于简单,早就已经升级一些特有的内部技术集合,即使今天你从GOOGLE挖相关开发人员,它这些技术积累还不可能得到,因为具体的技术细节太多,几个人脑是根本装不下。研发这样的系统难度和工作量不亚于开发一个像Windows的操作系统,所以不光需要大量的工程师,而且素质要求也很高。

人力成本的另外一块是引擎算法的研发。今天,PageRank的只是影响搜索结果的众多因素之一,还是那个什么“超链分析技术”只是众多搜索技术专利中的一个,为搜索算法的发展提供一点点思路。但要是以此技术就能申请院士,就真的让人很无语了。因为无论是独创性,新颖性,影响力,还是技术难度都和PageRank无法相比。那些PageRank拾了它的牙慧的论调非常无耻。虽然前者更早一点,但没有明显的证剧说明PageRank有借鉴它,从时间上说,都在96 ,97年附近出现,更加推测不出借鉴的可能性。扯远了,搜索算法也是今天“热门”AI技术的重要来源,GOOGLE 和MS今天的AI团队人员都直接从原来的搜索团队单独出来,因为干的活本质上一样。再加上各种垂直搜索领域,像图片和视频搜索,当然也需要这方面的技术人才。林林总总,整个搜索团队都基本找到当今CS多种主流技术的人才。另外一个趋势就是今天搜索自然语言处理技术结合越来越紧密,并且因此诞生了新的应用,在后面的搜索2.0的内容再讨论。

未完待续…

码中人 微信公众号