想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它.
关闭 3 年前。
我知道这是一个大问题,它不是一个是或否的答案,但我们开发 Web 应用程序并正在研究使用 MongoDB 作为我们的持久性解决方案。结合 MongoDB 和 NoRM 进行对象存储。
我想问的是,您从 SQL 切换到 mongo 时遇到过哪些陷阱?什么时候 mongo 根本就不是正确的解决方案,mongodb 的优势是否足以将开发从 SQL 转移?
最佳答案
在我看来,您的数据格式应该是选择存储后端时的首要考虑因素。你有本质上是关系的数据吗?如果是这样,在文档中对数据进行建模是否是一个好主意?数据建模在文档数据库中与在关系数据库中一样重要,只是做得不同。你有多少种类型的对象,它们是如何相关的? Mongodb 中的 DBrefs 可以做到这一点,还是你会错过太多外键,这会很痛苦?您对数据的访问模式是什么?您只是在获取按字段值过滤的一种类型的数据,还是有复杂的获取模式?
您需要 ACID 事务完整性吗?域是否对数据施加了很多约束?您是否需要文档数据库的可扩展性因素,或者这只是一个“很酷”的东西?
您的一致性和数据完整性要求是什么?一些 NoSQL 解决方案,尤其是 MongoDB,为了获得性能,在写入一致性方面非常松散。 NoSQL 没有统一的景观和其他产品,例如CouchDB 在这个部门还有其他特点。有些也是可调的。
这些都是选择存储时应该考虑的问题。
一些经验
https://stackoverflow.com/questions/3287966/