跟上Web的办法(Scaling with the Web)建立一个可以或许和当今web范围相适应的引擎会见临很多挑衅。抓网页技巧必须足够快,才能跟上彀页变更的速度(keep them up to date)。存储索引和文档的空间必须足够大年夜。索引体系必须可以或许有效地处理上千亿的数据。处理萌芽必须快,达到每秒能处理成百上千个萌芽(hundreds to thousands per second.)。跟着Web的赓续增长,这些义务变得越来越艰苦。然而硬件的履行效力和成本也在快速增长,可以部分抵消这些艰苦。还有几个值得留意的身分,如磁盘的寻道时光(disk seek time),操作体系的效力(operating system robustness)。在设计Google的过程中,我们既推敲了Web的增长速度,又推敲了技巧的更新。Google的设计可以或许很好的进级处理海量数据集。它可以或许有效地应用存储空间来存储索引。优化的数据构造可以或许快速有效地存取(参考4.2节)。进一步,我们欲望,相对于所抓取的文本文件和HTML网页的数量而言,存储和建立索引的价值尽可能的小(参考附录B)。对于象Google如许的集中式体系,采取这些办法获得了令人知足的体系可进级性(scaling properties)。
1. 3设计目标
1994年,有人认为建立全索引(a complete search index)可以使查找任何数据都变得轻易。根据Best of the Web 1994 — Navigators ,“最好的导航办事可以使在Web上任何信息都很轻易(当时所有的数据都可以被登录)”。然而1997年的Web就迥然不合。比来引擎的用户已经证实索引的完全性不是评价质量的独一标准。用户感兴趣的结不雅往往湮没在“垃圾结不雅Junk result”中。实际上,到1997年11月为止,四大年夜贸易引擎中只有一个可以或许找到它本身(本身名字时返回的前十个结不雅中有它本身)。导致这一问题的重要原因是文档的索引数量增长了好几个数量级,然则用户可以或许看的文档数却没有增长。用户仍然只欲望看前面几十个结不雅。是以,当集合增大年夜时,我们就须要对象使结不雅精确(在返回的前几十个结不雅中,有关文档的数量)。因为是大年夜成千上万个有点相干的文档中选出几十个,实际上,相干的概念就是指最好的文档。高精确异常重要,甚至以响应(体系可以或许返回的有关文档的总数)为价值。令人高兴的是应用超文本链接供给的信罕见助于改进和其它应用。尤颇昵啻接构造和链接文本,为相干性的断定和高质量的过滤供给了大年夜量的信息。Google既应用了链接构造又用到了anchor文本(见2.1和2.2 节)。
1.3.2引擎的学术研究跟着时光的流逝,除了成长敏捷,Web越来越贸易化。
1993年,只有1.5%的Web办事是来自.com域名。到1997年,跨越了60%。同时,引擎大年夜学术范畴走进贸易。到如今大年夜多半引擎被公司所有,很少技公开术细节。这就导致引擎技巧很大年夜程度上仍然是暗箱操作,并偏向做告白(见附录A)。Google的重要目标是推动学术范畴在此方面的成长,和对它的懂得。另一个设计目标是给大年夜家一个实用的体系。应用对我们来说异常重要,因为现代收集体系中存在大年夜量的有效数据(us because we think some of the most interesting research will involve leveraging the vast amount of usage data that is available from modern web systems)。例如,天天有几切切个研究。然而,获得这些数据却异常艰苦,重要因为它们没有贸易价值。我们最后的设计目标是建立一个别系构造可以或许支撑新的关于海量Web数据的研究。为了支撑新研究,Google以紧缩的情势保存了实际所抓到的文档。设计google的目标之一就是要建立一个情况使其他研究者可以或许很快进入这个范畴,处理海量Web数据,获得知足的结不雅,而经由过程其它办法却很难获得结不雅。体系在短时光内被建立起来,已经有几篇论文用到了 Google建的数据库,更多的在起步中。我们的另一个目标是建立一个宇宙空间实验室似的情况,在这里研究者甚至学生都可以对我们的海量Web数据设计或做一些实验。