简要介绍:
我尝试使用 SQL 数据库、实体框架和 LINQ 来开发我的项目。我有一个 'Users' 表格,例如,我有用户教育列表。我问自己:“用户可以拥有多少个教育?1 个,2 个,10 个...?” 似乎在 99% 的情况下不会超过 10 个。因此,对于这种情况,在 SQL 中我需要创建引用表 'Educations'。对吗?如果我需要显示用户的教育和用户,我需要连接上述表格...但是,如果用户有 10 个或更多集合,每个集合中仅有不超过 10 个项目呢?我需要在 SQL 中创建 10 张引用表吗?然后每次需要显示时都连接它们?为了更好的性能,我创建了具有 UI 显示数据形状的反规范化表格结构。每当用户更新时,我需要更新反规范化结构。
现在,我将我的项目重新开发为使用文档数据库(MongoDB)。我已经为用户创建一个文档,其中包含所有 10 个集合。
可能我失去了些什么?但似乎文档数据库是赢家。它非常快速,非常易于支持。对文档数据库的加分。
那么,您认为使用文档数据库或 SQL 数据库更好呢?
何时应该使用文档数据库,何时应该使用 SQL 数据库?