sql - MongoDB 和 PostgreSQL 的思考

我有一个完全可以使用 PostgreSQL 的应用程序。在阅读了 MongoDB 之后,我有兴趣了解该应用程序将如何使用它。几周后,我将整个系统迁移到了 MongoDB。

我喜欢 MongoDB 的一些东西。但是,我发现我在 PostgreSQL 中执行的某些查询在 MongoDB 中无法有效执行。特别是当我不得不加入几个表来计算一些逻辑时。例如,this .

此外,我正在使用 Ruby on Rails 3 和一个名为 Mongoid 的 ODM。 Mongoid 仍处于测试版中。文档很好,但有时我发现 ODM 与 Active Record 提供的传统 (SQL) 数据库系统相比非常有限。

到目前为止,我觉得使用 PostgreSQL 比使用 MongoDB 更舒服。只是因为我可以加入表格并对数据做任何事情。

我做了两种类型的备份。一个使用 PostgreSQL,另一个使用 MongoDB。有人说,某些应用程序更适合一种或另一种类型的数据库。我应该继续使用 MongoDB 并最终希望其 RoR ODM (Mongoid) 完全成熟,还是应该考虑使用 PostgreSQL?

还有几个问题: 1)哪一个更适合开发类似于Facebook的社交网站。 2)哪一个更适合4页标准布局类型的网站(首页、产品、关于、联系方式)

最佳答案

您放弃了一个经过数十年测试、功能齐全的 RDBMS,转而使用一个年轻的、beta 质量的、功能精简的文档存储,几乎没有社区支持。除非您已经每月在服务器上运行数万美元,并且认为 MongoDB 更适合您的数据性质,否则您可能会浪费大量时间来获得负面 yield 。 MongoDB 玩起来很有趣,出于这个原因,我自己使用它构建了一些应用程序,但它几乎从来没有比 Postgres/MySQL/SQL Server/etc 更好的选择。用于生产应用程序。

https://stackoverflow.com/questions/4426540/

相关文章:

node.js - mongoDB 是否有重新连接问题或者我做错了?

mongodb - 维护 mgo session 的最佳实践

mongodb - MongoDB 设置的全文搜索选项

javascript - 如何在 meteor 应用程序中向 mongodb 添加两列唯一 ID?

c# - C#最成熟的MongoDB驱动是什么?

java - 如何在使用带有 Spring 数据的 MongoRepository 的查询注释时显示

mongodb - 在聚合框架中给出完整时间戳时如何按日期聚合?

node.js - Mongoose 对聚合结果进行排序

mongodb - 如何从 MongoDb 对象中删除属性?

javascript - Nodejs/Express - 启动我的应用程序 : express.