与Solr for Django搜索相比,MyISAM如何扩展?

时间:2010-06-30 20:14:38

标签: mysql django full-text-search solr full-text-indexing

想象一下,您有一个用Django和Python 2.65编写的Web应用程序,MySQL 5.1是您的首选数据库。

现在,想象一下,您需要扩展您的应用程序以处理搜索数以千计的文档,并且可能有成千上万的用户将使用它。

现实:使用PySolr和Solr 1.4.0的Haystack 1.0在上述场景中证明速度很慢。 MyISAM是一个更可行的替代方案,还是应该花更多的时间使用Solr以更“智能”的方式使用我当前的配置?

连连呢?提示?

感谢您的帮助! 米修

2 个答案:

答案 0 :(得分:1)

我没有Haystack或PySolr的专业知识,但只是看着Solr让我觉得MySQL可能是更好的选择。我知道如果设置正确,MySQL可以扩展到非常大的应用程序。

Apache Solr就在Tomcat上。 Tomcat可能有点像资源,可以慢慢运行。 MySQL从已编译的二进制文件运行。这应该提供一点推动力。你运行它的服务器也会产生很大的不同。我会说,如果你有能力继续尝试设置MySQL系统,看看你是否有任何区别。

答案 1 :(得分:1)

我假设您正在谈论比较Solr与MySQL full-text search,否则它会将苹果与橙子进行比较。

我不知道Haystack或PySolr,但Solr本身应该没有问题处理大量用户的100000的文件。但是,仅仅这两个参数还不足以说明问题。例如,更新频率,请求的实际频率,文档大小,页面大小,排序,分面等。

Solr可以轻松扩展,包括垂直和horizontally,并且是Apache许可的,而horizontal scaling solution for MySQL is GPL+commercially licensed

我不同意Badger关于Tomcat的回答,它是一个非常优秀,经过验证的稳定服务器,been around for over 10 yearsJava performance myth必须一劳永逸地废除。

结论:您很可能需要优化Solr实例(客户端查询和服务器端索引以及performance settings)。 Solr powers some of the biggest websites所以它很可能也可以处理你的负载。