关系型数据库和文档数据库的区别?

5

简要介绍:

  1. 我尝试使用 SQL 数据库、实体框架和 LINQ 来开发我的项目。我有一个 'Users' 表格,例如,我有用户教育列表。我问自己:“用户可以拥有多少个教育?1 个,2 个,10 个...?” 似乎在 99% 的情况下不会超过 10 个。因此,对于这种情况,在 SQL 中我需要创建引用表 'Educations'。对吗?如果我需要显示用户的教育和用户,我需要连接上述表格...但是,如果用户有 10 个或更多集合,每个集合中仅有不超过 10 个项目呢?我需要在 SQL 中创建 10 张引用表吗?然后每次需要显示时都连接它们?为了更好的性能,我创建了具有 UI 显示数据形状的反规范化表格结构。每当用户更新时,我需要更新反规范化结构。

  2. 现在,我将我的项目重新开发为使用文档数据库(MongoDB)。我已经为用户创建一个文档,其中包含所有 10 个集合。

可能我失去了些什么?但似乎文档数据库是赢家。它非常快速,非常易于支持。对文档数据库的加分。

那么,您认为使用文档数据库或 SQL 数据库更好呢?

何时应该使用文档数据库,何时应该使用 SQL 数据库?


是的,现在看起来可能更容易 - 当你尝试将其扩展到“演示样本”之外时,祝你好运..... - marc_s
我想知道在SQL中使用50个表还是在文档数据库中使用一个大文档哪个更好。 - Andrew Orsich
SQL已经证明了它可以扩展到超过几百个表和几百GB的数据。50个表对于一个真实的应用程序来说根本算不了什么... - marc_s
一次查询中有50个表并不好处理。如果您的环境中有文档数据库,那么这是一个完美的使用案例。 - Tom Clarkson
1个回答

4

5
+2分是为了有用的链接。-1分是因为你没有警告我关于那个有头发的人。我被吓到了。 - Ronnis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接