与 Solr 相比,MyISAM 在 Django 搜索方面的扩展性如何?
假设您有一个用 Django 和 Python 2.65 编写的 Web 应用程序,而 MySQL 5.1 是您选择的数据库。
现在,想象一下您需要扩展您的应用程序以处理数百个或数千个文档的搜索,并且可能有数百个或数千个用户将使用它。
现实:在上述场景中,带有 PySolr 和 Solr 1.4.0 的 Haystack 1.0 速度很慢。 MyISAM 是一个更可行的替代方案,还是我应该花更多时间以“更智能”的方式使用 Solr 来处理当前的配置?
建议?尖端?
感谢您的帮助! 米肖
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设您正在谈论比较 Solr 与 MySQL 全文搜索,否则就会将苹果与橙子进行比较。
我不知道 Haystack 或 PySolr,但 Solr 本身在处理大量用户的 100000 个文档时应该没有问题。不过,仅这两个参数还不足以说明问题。例如,更新频率、请求的实际频率、文档大小、页面大小、排序、分面等。Solr
很容易扩展,无论是垂直还是水平,并且是 Apache 许可的,而 MySQL 的水平扩展解决方案是 GPL+ 商业许可。
我不同意 Badger 关于 Tomcat 的回答,它是一个非常精致、经过验证、稳定的服务器,已经存在了超过10 年,以及 Java 性能神话 必须一劳永逸地废除。
底线:您很可能需要优化 Solr 实例(客户端查询和服务器端索引以及 性能设置)。 Solr 为一些最大的网站提供支持,因此它很可能也可以处理您的负载。
I assume you're talking about comparing Solr vs MySQL full-text search, otherwise it would be comparing apples to oranges.
I don't know about Haystack or PySolr, but Solr itself should have no problems handling documents in the order of 100000 with lots of users. Those two parameters alone are not enough to spec the problem, though. For example, frequency of updates, real frequency of requests, document size, page size, sorting, faceting, etc.
Solr is easily scalable, both vertically and horizontally, and is Apache-licensed, while the horizontal scaling solution for MySQL is GPL+commercially licensed.
I disagree with Badger's answer about Tomcat, it's a very polished, proven, stable server that's been around for over 10 years, and the Java performance myth has to be abolished once and for all.
Bottom line: it's very likely that you need to optimize your Solr instance (both the client-side querying and the server-side index and performance settings). Solr powers some of the biggest websites so it's quite likely that it can handle your load as well.
我对 Haystack 或 PySolr 没有任何专业知识,但只要看看 Solr,我就觉得 MySQL 可能是更好的选择。我知道如果设置正确,MySQL 可以扩展到非常大的应用程序。
Apache Solr 仅在 Tomcat 上。 Tomcat 可能有点占用资源并且运行缓慢。 MySQL 从编译的二进制文件运行。这应该会带来一些推动。您运行此程序的服务器也会产生很大的影响。我想说,如果你有能力,就去尝试设置 MySQL 系统,看看是否有什么不同。
I have no expertise with Haystack or PySolr but just looking at Solr makes me think that MySQL might be a better choice. I know that MySQL can scale to very large applications if it is setup correctly.
Apache Solr just on Tomcat. Tomcat can be a bit of a resource hog and can run slowly. MySQL runs from compiled binaries. This should provide a bit of a boost. The server that you run this off of will also make a large difference. I would say that if you have the ability go ahead and try and setup the MySQL system, and see if you get any difference.