architecture - 谷歌如何如此快速地提供结果?

标签 architecture search-engine

这个问题在这里已经有了答案:





How can Google be so fast?

(19 个回答)


7年前关闭。




当我一次又一次地在 Google 上搜索某个主题时,
Google 将结果返回给我,并打印出一些统计信息,例如

“j2me 大约 8,850,000 的结果 1 - 10。(0.24 秒)”

我注意到 Google 提供结果所需的秒数在几分之一秒范围内。

谷歌如何提供如此快的页面,它最终使用了什么样的数据库优化技巧?

最佳答案

我认为前端性能的主要原因是:

  • 每个请求并行分发到一系列机器 (我在某处读到每个查询大约有 12 台机器),可能有一台机器从这些机器收集响应
  • 所有索引数据都保存在 RAM 中。 对于索引数据,我的意思是术语词汇表和帖子列表索引,在谷歌的情况下可能有更多的索引,例如用于拼写更正。即使在某处使用单个磁盘 I/O,磁盘搜索的延迟也会阻止这种性能。

  • 谷歌的 Map/Reduce、GFS 是很好的后台处理工具,但是跟前端性能没有关系。

    关于architecture - 谷歌如何如此快速地提供结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1298860/

    相关文章:

    c# - 需要帮助为三个值实现某种列表

    search-engine - 清除 Google 自定义搜索引擎的缓存/索引页面

    c# - 创建可重用的 ASP.NET MVC 项目

    适用于大型项目的 Java GUI 架构

    c# - 如何实现复杂的 UI 逻辑?

    design-patterns - 需要帮助建模图像和一些使用它们的类之间的关系

    javascript - Google Maps API - 搜索 XML 标记

    performance - 使用倒排索引对搜索结果进行排名的有效方法

    ajax - 我应该向 googlebot 显示我的页面的无 AJAX 版本吗?

    ios - 架构 x86_64 : "_AVAudioSessionCategoryPlayback", 引用的 undefined symbol