作者:何伟平 工程师
很多朋友,尤其是一些保持着好奇心的朋友,会问我,像雅虎搜索这样搜索引擎会面临什么问题,有什么样的麻烦事?
我通常都会说,对于任何一个严肃的搜索引擎,它要面对的最大的挑战就是海量的信息……互联网实在是太庞大了,内容实在是太多了,林林总总,良莠不齐。而做为一个搜索引擎,必须能对这么庞大的数据进行快速、准确、高效的检索。
对于搜索引擎来说,不管你再智能、再聪明,首先都要把这由几百上千万台主机承载的互联网加以消化和整理,然后提供给用户检索。虽然这个数目庞大的互联网主机里头有很大一部分并非容量巨大,但也绝非是少量硬件就可以将之包容下来并且提供搜索服务的。就目前的硬件体系来说,几乎不可能用少数几台机器来实现互联网所有信息的检索,即使有,这样的系统的价格也会高的吓走所有地球人。
还好,人类的聪明才智让人类克服了无数的困难,这其中也包括互联网搜索。对付互联网搜索,我们想出来的办法是:分布的集群。
所谓分布,就是用某种手段将整个互联网化整为零,就如我们制造几十万吨的油轮一样,只不过是反过来,先将油轮想办法分解成一块块的钢板。
所谓集群,就是用通讯协作的手段,将经过分解,零碎的信息再次整理,集中起来,再次还原出一个互联网给使用的用户;其过程类似从钢板拼成仓段,然后从仓段拼成一条油轮。
雅虎搜索正是这样一个分布集群的经典表现。可以毫不夸张地说,这是当今世界上正在运行的最大的也是最先进的分布集群之一。
这里有成千上万的机器,他们在一起,平时相互喊着劳动的号子,把互联网抓取下来,分解,切片、切块儿,然后对每个小块编制索引,完成化整为零的工作,让我们现有的硬件可以咀嚼,可以有效地进行索引,因为只有索引过之后的数据,才能提供快速、高效的检索。
化整为零之后,便是化零为整,把每个小块儿放在一台机器上,许多这样的机器组成一个大大的集群,同样是相互协作,吹着哨子,喊着“一二三”,将小块儿组合成一个经过索引的、有序的互联网。当用户查询的时候,相互协调、合作,从还原出来的有序的互联网中,把用户需要的相关信息检索出来。同时,还要做到既高效,且内容丰富。这里需要考虑的事情还真不少,经过长期的开发与研究,所有这些困难都已经是“天堑变通途”。
从概念到应用,需要的是具体的一堆软件让这些机器相互合作:从网络到应用,从硬件到系统,一堆的大大小小形形色色的软件,整个集群想一部严密运行的机器,在这里,所有的软件都必须考虑效率,都必须考虑协作;每一台机器,都只能算是系统中的一个零件!整个分布系统运转起来的时候相当壮观,身处其中,像小泽面对着爱乐乐队;也像Neo面对着整个Matrix;有时候,作为建设、管理人员一员的自己,会很有Jack在船头的感觉:I'm the king of the world!
分布集群是一个古老而又时髦的概念,在今天的雅虎搜索里,它得到了灵活又充分的使用,目的就是为了能提供更多的内容,更快的速度和更好的结果。在未来,成千上万机器会组合起来,好像一台机器,给我们提供更简单,更快捷,更准确的检索。那个时候的搜索,就好像我们在自己的计算机里面找一些东西那样。
古老的分工与合作在现代计算机技术里摇身一变,成为了分布的集群,一样的简单,一样的令人着迷。
看上去最初的几篇比黑板报要强一些哦
除了那篇对一搜的回忆,有点做作
发布者:zstbee - 2006年06月12日 16:42分布和集群可以类比算法中的divide and conquer,也属于一种分而治之的逻辑。
发布者:Tony Bai - 2006年06月09日 11:26
嘻,想看更新了~
哈哈,laser大叔也到yahoo啦?这样算来,我可是你的'前同事'哦,嘿
发布者:yejr - 2006年06月08日 13:42有评论功能不错~~~~~观察一段时间
发布者:togke - 2006年06月08日 12:28我觉的目前国内的环境来说搜索能否成功的要素是:收录速度>收录数量>收录质量>检索分词的技术.
YAHOO的速度和数量都差的很远啊,我曾有过被BAIDU,GOOGLE各收录5万多,而YAHOO只有200多的记录.写信咨询,结果大吹YST技术如何先进,一口咬定别人作弊,晕死啊.事实上是一贯YAHOO的速度,数量,质量无法和国内前它前两位同日而语.
发布者:一刀 - 2006年06月08日 10:37下一步,百度也会弄个黑板报的!
发布者:ymd - 2006年06月08日 10:33才看到,yahoo也出日志了,而且有评论功能,支持一下,留个名
发布者:gallonwang - 2006年06月08日 8:35有一个开始就是好样的!yahoo!!
发布者:inzen - 2006年06月08日 5:55Yahoo 你嘛时候是中文搜索第一呀?
就在今天 就在今天!
发布者:货源家 - 2006年06月08日 1:24TO Samuel:现在“搜索日志”已经可以支持firefox“实时书签”了,感谢你的意见^^
发布者:搜索日志小组 - 2006年06月07日 18:56写得很通俗易懂!似乎有点启发。发现计算机里面用到的很多概念移植到管理学后,就成了很有启发性的新的概念了。前几天了解到SOA,发现居然对公司治理和动态组织设计有很大的启发,甚至可以直接移植这种软件开发思想。
http://www.blog366.com/blog/post/136.html
写得很通俗易懂!似乎有点启发。发现计算机里面用到的很多概念移植到管理学后,就成了很有启发性的新的概念了。前几天了解到SOA,发现居然对公司治理和动态组织设计有很大的启发,甚至可以直接移植这种软件开发思想。
http://www.blog366.com/blog/ post/136.html
偶无意间闯进了搜索引擎优化这个行业。。。
发布者:氧气层 - 2006年06月07日 18:00很少发现yahoo的搜索的内容和相关度能与google相比
数学没有学好?
发布者:lirui0073 - 2006年06月07日 17:55支持雅虎搜索日志上线
发布者:支持雅虎搜索日志上线 - 2006年06月07日 17:41老大原来在 Yahoo 呢?
发布者:b - 2006年06月07日 17:32看来老弟在雅虎混得春风得意啊!哈哈...
发布者:chenfeng - 2006年06月07日 16:39不错,有放开评论的勇气,这点比google强。
但是本文技术性不够,期待更佳表现。
隔行如隔山,這隔的還不是一座兩座.不過很有興趣想要了解搜索和搜索人每天都在做些什么.
PS.能寫得這麼通俗真難為了.
庆贺雅虎日志开通!来凑凑热闹~~~~~~~~
发布者:痕迹 - 2006年06月07日 12:39你跑到YAHOO啦 呵呵
发布者:t - 2006年06月07日 12:30Wonderful!
发布者:onemonkey - 2006年06月07日 12:00新鲜,yahoo也开blog了,不错
发布者:Yuri - 2006年06月07日 11:46不错,分布集群是一个古老而又时髦的概念,从概念到应用,需要分散的团队协作并且提高效率。能够统筹好这一切,已经是一种文化和价值的体现了。
发布者:AlanZH - 2006年06月07日 11:43以前比较少关注yahoo,经过近期合作后,对其关注比较多了,文章写得很棒,让人很容易的了解搜索引擎的工作原理
发布者:阿弟 - 2006年06月07日 11:29赞分布与集群两个概念的解说
期待.....
我希望Yahoo可以開發一些較有創意的東西..
重拾一哥的地位.
不然很難追得上Google.
庆贺雅虎日志开通!我对雅虎没有太大的关注,但是我的朋友何伟平是雅虎的工程师,所以我会支持他!也会常来看看。
发布者:sunny - 2006年06月07日 11:11写的通俗易懂,让我等门外汗都有了初步的概念,好文!
jhcai
发布者:jhcai - 2006年06月07日 11:11google的粉丝,过来看看。呵呵,希望你们也多一些企业文化的东西放出来让大家看看。不要老发技术类的嘛
发布者:永远的apache - 2006年06月07日 10:411、人家Google黑板报放洪波的博客,因为人家是地道的GFans,我们放他干什么呢?
2、还有人家也没放一个李开复的博客,我们放个车东的博客有点那个吧?
3、Google黑板报每个Google中国的人都能来随便写写,我们这个东西是不是和名字一样,就是某些技术人士的小圈子呢?
4、我刚才邮件给你们提意见,信被退回来了!
人猿学会了走路,腾出了手;人类造成了交通,工具腾出了脚;人类造出计算机腾出了时间去思考;人类造出了信息的搜索,腾出了......?
愿意同大家交流!
不知道怎么说哈,你们的blog程序不支持rss订阅,尤其是firefox的“实时书签”。
发布者:Samuel - 2006年06月07日 9:48 看了上海时代报上的一条消息,还以为你们是办了一个供企业用的BLOG站,上来一看才知道是你们自己的BLOG。报上说这是创新啊什么的,结果什么都没说明白。
另外,审查评论本身也是很垃圾的行为。