2012-02-29 53 views

回答

2

在完全规范化的关系数据库中,每个插入通常需要在其他表(和其自己的表)中进行多次查找以保持数据完整性(FK)。这通常是一件好事,但需要时间。通常情况下,您需要一次更新不同表中的多个行,导致更多查找和事务开销。

查询数据库通常还需要查看许多不同的表并合并它们。

另一方面,mongoDB文档是一个更简单的构造。每个集合都像一个大的非规范化表,但所有的字段都是可选的(但仍然是可索引的),所以几乎没有空间开销(与具有相同设置的关系数据库相比)。

,提供在复杂查询的成本灵活性和速度以及去除数据完整性逻辑从服务器向客户端(客户端数据库,而不是最终用户的客户端;))。

两个有它的用途,但是那已经正常了这个问题:“我们需要不同从关系数据库的东西吗?”现在应该是“我们需要比文档数据库更复杂的东西吗?” imo,绝大多数项目不会。

0

我认为,如果你很高兴与关系型数据库给你的任务,你不必切换到MongoDB的。我认为mongodb应该比rdbms更简单。对于一些任务,我想我认为你可以从mongodb中的灵活模式中获益。我认为这主要是有意义使用一些数据库的具体任务进行讨论。