我有一个完全支持PostgreSQL的应用程序.在阅读了有关MongoDB的内容后,我很有兴趣看看这个应用程序将如何使用它.几周后,我将整个系统迁移到MongoDB.

我喜欢MongoDB的一些特性.然而,我发现我在PostgreSQL中执行的某些查询,在MongoDB中无法高效执行.特别是当我必须连接几个表来计算一些逻辑时.例如,this.

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

即使到目前为止,我还是觉得使用PostgreSQL比使用MongoDB更舒服.这仅仅是因为我可以连接表并对数据执行任何操作.

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

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

推荐答案

您抛弃了一个经过数十年测试、功能齐全的RDBMS,转而使用一个年轻的、测试版质量的、功能单薄的文档store ,几乎没有社区支持.除非您已经每月在服务器上运行数万美元,并且认为MongoDB更适合您的数据性质,否则您可能会将大量时间浪费在负面yield 上.MongoDB很有趣,为此我自己也用它构建了几个应用程序,但对于生产应用程序来说,它几乎从来都不是比Postgres/MySQL/SQL Server/等更好的 Select .

Database相关问答推荐

使用 noSQL 和 MongoDB 在数据库中存储任何类型文件的最佳方法是什么

动态数据模型

用于存储人与聊天消息的数据库设计

哪个能够存储 1 亿条记录的嵌入式数据库具有高效的 C 或 C++ API

如何在 sql server 2005 中获取到数据库的详细连接列表?

如何将 PHP 会话数据保存到数据库而不是文件系统中?

更新查询 PHP MySQL

Java 数据库连接池(BoneCP vs DBPool vs c3p0)

从 XML 读取数据

SQL-Server:还原数据库时,SQL 命令行中的 NOUNLOAD 和 STATS 是什么意思?

锁定机制(悲观/乐观)如何与数据库事务隔离级别相关?

HTML5 数据库存储 (SQL lite) - 几个问题

如何使用 MySQL Workbench 更改字段的值?

Mysql用户创建脚本

执行语句还是运行脚本?

是什么导致pyodbcunable to connect to data source?

MySQL是否允许使用点创建数据库?

使用多个数据库模式的 JPA

如果表不存在,如何使用 Derby Db 创建表

由多个用户编辑数据库记录