Gmail搜索如此之快?

时间:2011-05-14 23:53:33

标签: php mysql

搜索这么多角色的最有效方法是什么?你怎么看?

假设网站内置PHP和MySQL。

我应该学到什么才能尽可能高效地构建它?我应该学习什么algorythms或什么?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

Google使用名为BigTable的定制数据库解决方案http://en.wikipedia.org/wiki/Big_table,该解决方案在全球数百台服务器上运行。所以他们很快,因为他们专门编写了快速的软件,并以这样的方式设置硬件,以便他们可以最大限度地利用它。

你可以使用PHP和MySQL来获得一个不错的设置,但是一旦你开始处理非常大的数据集,MySQL和任何其他通用数据库,就会开始在压力下屈服。如果你想了解更多关于这一点,一个好的起点是在数据库设计中搜索并发(在http://en.wikipedia.org/wiki/Concurrency_control中简要解释),这是一个太大而无法覆盖stackoverflow回复的主题=)

答案 2 :(得分:0)

Google不仅仅是优化数据库和代码。他们还做了很多分布式编程。虽然他们用来为像Gmail这样的系统供电的确切机制是保密的,但众所周知,他们将整个计算机网络联网,每个计算机在任何给定时间处理索引的某些部分,而不是仅仅一个服务器。

答案 3 :(得分:0)

对于MySQL,请查看Full-Text Search Functions

这是假设您的内容存储在数据库中(例如在CMS中)。