哪个是Rails应用程序的最佳数据库?

时间:2008-11-19 15:03:00

标签: mysql ruby-on-rails database postgresql db2

我正在开发一个Rails应用程序,它将访问大量RSS提要或抓取网站以获取数据(主要是新闻)。它会像谷歌新闻一样,但采用不同的方法,因此我会存储大量新闻(或新闻摘要),将它们分类到不同的类别,并使用排名和推荐技巧。

  • 我应该使用MySQL吗?

  • 使用IBM DB2是否值得 purexml存储doucuments? Ruby搜索实现 (Ferret,Ultrasphinx等)是 不需要如果我选择DB2。这是对的吗?

  • 有什么好处 PostreSQL在这?

  • 使用Couch DB是否有意义 这个场景?

我想选择最佳选择,但不要过度复杂化解决方案。所以我放弃了使用两种不同存储解决方案的想法(一种用于新闻文档,另一种用于其他数据)。我也只考虑“免费”选项,所以我没有看过Oracle或MS SQL Server。

提前致谢。

5 个答案:

答案 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最近的问题往往证明它们仍然相关。

http://bob.pythonmac.org/archives/category/sql/mysql/

答案 4 :(得分:0)

MySQL的生产效果很好。我没有使用PostgreSQL作为rails,但它也是一个很好的解决方案。

在开发和测试环境中,我将从SQLite开始(默认),并且当您接近完成时,可能会在测试环境中迁移到目标数据库。