我正在开发一个Rails应用程序,它将访问大量RSS提要或抓取网站以获取数据(主要是新闻)。它会像谷歌新闻一样,但采用不同的方法,因此我会存储大量新闻(或新闻摘要),将它们分类到不同的类别,并使用排名和推荐技巧。
我应该使用MySQL吗?
使用IBM DB2是否值得 purexml存储doucuments? Ruby搜索实现 (Ferret,Ultrasphinx等)是 不需要如果我选择DB2。这是对的吗?
有什么好处 PostreSQL在这?
使用Couch DB是否有意义 这个场景?
我想选择最佳选择,但不要过度复杂化解决方案。所以我放弃了使用两种不同存储解决方案的想法(一种用于新闻文档,另一种用于其他数据)。我也只考虑“免费”选项,所以我没有看过Oracle或MS SQL Server。
提前致谢。
答案 0 :(得分:3)
purexml比SQL重,因此您需要为webserver和DB之间的往返支付更多费用。如果您计划拥有大量用户,我会避免使用它,最好让您的Web服务器缓存请求,从而避免每次创建xml(rss),如果这是您正在考虑的事情。
我会选择MySQL,因为它非常擅长服务,而且它完全免费,而且PostgreSQL也很好,但是没有使用它,所以我不能说。
CouchDB可能有意义,但如果您计划对数据进行OLAP(离线分析),那么正常的RDBMS会更好。
答案 1 :(得分:3)
首先承认我一般不喜欢mysql,我会说有关于postgres的帖子一直在写:
http://oldmoe.blogspot.com/2008/08/101-reasons-why-postgresql-is-better.html
当我需要一个纯粹的关系数据库时,这总是我的选择。我不知道文档数据库是否更适合您的应用程序而不了解更多信息。它确实听起来像你至少应该调查的东西。
答案 2 :(得分:1)
MySQL可能是最好的选择之一;轻便,易于安装和维护,多平台和免费。最重要的是,有一些很好的免费客户端工具。
要考虑的事情;由于你的系统的性质,你可能会有一些表会非常快地增长,所以你可能想要考虑性能。
因此,MySQL支持垂直分区,但仅支持V 5.1。记住这一点。
干杯,
雅各布。
答案 3 :(得分:0)
在我看来,您构建的应用程序很容易成为一个大型的Web应用程序。我建议PostgreSQL,因为它的可靠性而闻名。
你可以查看以下链接 - 来自MochiMedia的Bob Ippolito告诉我们为什么他们为PostgreSQL抛弃了MySQL。虽然帖子已超过3年,但MySQL 5.1最近的问题往往证明它们仍然相关。
答案 4 :(得分:0)
MySQL的生产效果很好。我没有使用PostgreSQL作为rails,但它也是一个很好的解决方案。
在开发和测试环境中,我将从SQLite开始(默认),并且当您接近完成时,可能会在测试环境中迁移到目标数据库。