研究人员宣称,将搜索引擎的索引分散在全世界,可以使其更加地快速高效。
根据雅虎的研究人员所说,如果将搜索引擎拆分,并散布在全世界,搜索网页对于用户来说,会更加快速;对于搜索公司来说,会更有效率。
目前,搜索引擎以一种集中模式为基础,位于西班牙巴塞罗那的雅虎实验室的研究员里卡多.巴扎雅茨(Ricardo Baeza-Yates)解释道。这意味着,搜索引擎的索引——列出存储在网页上信息的位置和相对重要性的核心数据库——和附加数据一样(比如内容缓存副本)都被复制在数个位于不同地点的数据中心内。巴扎雅茨说,搜索业界的趋势是,在全球运营数量相对较少的超大型数据中心。
巴扎雅茨和他的同事们想出别的路子:一种“分布式的”方法,将搜索索引和附加数据都分散在数量更多而规模较小的数据中心里。通过这种方法,小型数据中心将容纳本地相关信息和小部分的全球复制数据。某一领域常见的搜索查询可以使用存储在本地数据中心的内容回答,而其它的查询将传递给别的数据中心。
“过去有许多人谈论过这项技术,”巴扎雅茨说。但是存在着阻力,他说,因为很多人猜想这种方法会太慢或太贵。也不清楚如何确保每个查询都能得到最好的全球搜索结果,而不只是本地数据中心提供的最优解答。一些新创公司发布过利用用户自己电脑能力的点对点搜索引擎。但是,这种方法没有表现出充分的可扩展性。
为了实现一个可行的分布式系统,巴扎雅茨和同事们设计出让网页排序的统计信息可以被不同的数据中心共享,这将使每个数据中心都运行一个将其结果与其它中心进行比较的算法。如果另一个数据中心的统计结果更好,那么查询将送至该中心。
该团队使用真实的搜索数据,对分布式方法进行了可行性研究的测试。最近,他们在香港的计算机协会信息和知识管理大会(Association for Computing Machinery's Conference on Information and Knowledge Management)上发表了他们的研究成果,并被授予最佳论文奖。
“我们想要证明,不用消耗过高的成本,也可以达到(与集中模式)一样的性能,”巴扎雅茨说。事实上,他们发现,该方法可以降低15%的运营搜索引擎的总体成本,而不影响搜索答案的质量。
“这是一种有效的方法,”杜克大学计算机科学教授和阿卡迈(Akamai)公司(一家位于马塞诸塞州剑桥市的网页内容传输和缓存的公司)研发事务副总裁布鲁斯.麦格斯(Bruce Maggs)说。将数据库完全复制到多个网址上,就像现在搜索公司经常做的那样,是没有效率的,麦格斯说,因为每个网址只有一小部分数据会被用到。分布式方法“还会按照同样的比例节省了大量的其它事物(的消耗),例如资金成本和房地产,”他说。这是因为,总体上,所需服务器的数量在降低。
对于用户来说,优点将是更快的搜索速度。因为大多数答案来源于地理位置较近的数据中心。少量结果会比平常多花一点时间——但也只是多出20到30%,巴扎雅茨说,“平均起来,大多数查询将会更快。”
麦格斯表示,性能改进需要提高到足以抵消掉那些必须送至较偏远位置的搜索查询的延迟。
另一项缺点是,相比现在的状况,更多的用户由于他们所在位置的不同,将得到不一样的结果,研究大规模搜索的希腊佩特雷大学(Patras)的研究员皮特.特里安塔菲洛(Peter Triantafillou)说。在某种程度上,这其实已经出现在集中模式里,他说,但是如果更多的搜索结果不一致,这将成为更大的隐忧。
然而,由于搜索引擎数据中心已经覆盖了数万台服务器,它们能否继续增长并有效运作就成为问题,特里安塔菲洛说。“它们能够增长到十万或百万么?”他说。仅仅在这些设施里里外外安装电缆和光纤的实际操作就会出现严重的问题,他说。
分布式方法仍然是一个长期的目标,巴扎雅茨承认。“但是对于互联网来说,”他补充道,“‘长期’也只是5年时间左右。”
分布式的搜索
评论
12 views