我正在考虑将MongoDB用于Web应用程序,但是我已经阅读到在某些情况下不建议使用它。我想知道我的项目会是其中一种情况。
这是我系统中实体的简要概述-
如您所见,有许多相互之间具有各种关系的实体。数据完整性很重要。这种类型的架构是否适合MongoDB?
您的数据似乎是非常相关的,而不是面向文档的。
您还指出数据完整性是一项重要要求(我假设您是指不同实体之间的参照完整性)。当实体未存储在同一文档中时,很难在MongoDB中保证实体之间的完整性。另外,MongoDB不能强制执行任何约束(字段值的唯一性除外)。
您似乎总体上也具有非常相关的思维模式,这将使您难以利用MongoDB的用法。
由于这些原因,我建议您坚持使用关系数据库。
首先考虑使用MongoDB的原因可能是因为您听说它运行速度快且可扩展性很好。是的,它速度很快并且扩展性很好,但这仅是因为它不强制执行参照完整性,并且因为它不执行表联接。当您需要这些功能并因此不得不找到丑陋的变通方法来模拟它们时,MongoDB将不再那么快。
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |