想象一下,您有一个用Django和Python 2.65编写的Web应用程序,MySQL 5.1是您的首选数据库。
现在,想象一下,您需要扩展您的应用程序以处理搜索数以千计的文档,并且可能有成千上万的用户将使用它。
现实:使用PySolr和Solr 1.4.0的Haystack 1.0在上述场景中证明速度很慢。 MyISAM是一个更可行的替代方案,还是应该花更多的时间使用Solr以更“智能”的方式使用我当前的配置?
连连呢?提示?
感谢您的帮助! 米修
答案 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 years,Java performance myth必须一劳永逸地废除。
结论:您很可能需要优化Solr实例(客户端查询和服务器端索引以及performance settings)。 Solr powers some of the biggest websites所以它很可能也可以处理你的负载。