表(SQL)和集合(Mongo)之间的区别?

时间:2016-07-26 04:42:01

标签: sql mongodb database

每个人的(dis)优势是什么?

3 个答案:

答案 0 :(得分:1)

1)在SQL中,您必须创建一个表并定义数据类型;在mongoDB中,您无法创建集合,它会在插入数据时自动创建。

2)在SQL中,必须按数据类型插入值;在mongoDB中,您可以插入任何类型的值。

3)在SQL中,您无法在插入或更新时创建列;在mongoDB中,它是可能的。

4)在SQL中,几乎没有任何区分大小写;在mongoDB中,一切都区分大小写。

EX。在SQL中,使用"使用[demo]"和"使用[DEMO]"将选择相同的数据库;在mongoDB中,使用"使用demo"和#34;使用Demo"将选择两个不同的数据库。

答案 1 :(得分:1)

表(SQL) - RDBMS

  • 维护数据之间的关系
  • 固定或预定义架构数据存储在行和列中
  • DB支持外键关系。
  • 如果我们违反任何列数据类型或外键或主键,则不会存储数据。
  • 可以有效地使用联接来查询数据。
  • 垂直可扩展(在硬件上会受到限制,假设您不能 继续将RAM添加到服务器机器中,机器有自己的 可以增加多少RAM的限制。存储和检索是 数据量巨大时相对较慢。

MongoDB Collection - NoSQL DB

  • 数据之间没有保持关系 - 动态架构
  • 数据存储为文档
  • 动态架构允许保存任何数据类型或任意数量参数的文档。
  • 水平可扩展,这可以通过添加更多服务器来完成 - 存储和检索更快
  • 没有明确的外键支持可用,而我们可以通过使用外键来设计架构(但请记住我们需要维护关系)。
  • $lookup执行类似于SQL中的LEFT OUTER JOIN的操作。

希望它能帮助!!

答案 2 :(得分:0)

在您逐步​​检查差异之前,您应首先断言您需要存储哪种数据,以及您的数据在多大程度上结构。基于表的数据库非常适合结构良好的信息。非SQL数据库(如MongoDB)最适合异构数据(因此他们会讨论文档)。

因此,您的问题的答案是另一个问题:您的数据如何?

我知道这可能不是你所期待的答案,但它可能指向你正确的思考道路。