2016-07-26 51 views

回答

0

之前你踏进的差异考试,你应该首先声明自己需要存储什么样的数据,到什么程度你的数据有结构。基于表格的数据库非常适用于结构良好的信息。非SQL数据库(如MongoDB)最适合异构数据(因此他们会讨论文档)。

所以,你的问题的答案是另一个问题:你的数据是怎样的?

我知道这可能不是你期待的答案,但它可能会指向你正确的思维方式。

+0

什么?我不想存储任何东西(目前)。我只是想知道其中的差异。即为什么它是表格更好地处理结构和文档。 – allidoiswin

+0

表格和对象数据库旨在用于存储**不同类型的数据**,因此在不考虑您的需求的情况下对它们进行比较似乎在最好的情况下毫无意义,在最糟糕的情况下会导致误导(至少对我而言)。 – FDavidov

+0

我怎么知道哪些需要每个数据库类型符合,除非我知道它们之间的区别? – allidoiswin

1

1)在SQL表,我们有第一和defind数据类型但在蒙戈分贝创建表不能创建集合它创建时自动在SQL表插入数据

2)必须插入的值作为每数据类型和在蒙戈插入值任何类型

3)在sql中不能创建列插入或更新时间,但在mongo db这可能。

4)在SQL不区分大小写但在蒙戈分贝是大小写敏感的

EX。在SQL使用的数据库语法使用[演示]或使用monog使用演示和使用演示[演示]接受,但 两者都是创建新的数据库

+0

小修正:配置数据库时设置区分大小写。您可以选择是否区分大小写。此外,当你正在寻找字符串时(例如'从dummy_table中选择文本,其中text ='ABC'),它将只返回值** ABC **,并且不会返回** aBC **。 – FDavidov

+0

如果你为查找写查询** ABC **它获取所有记录** ABC,abc,则只有mongo db语法中的大小写敏感性(例如'show Collections'给出错误,'show collections'给出数据库中的集合列表) ,美国广播公司** – Tusharsangani

0

表(SQL) - RDBMS

  • 维护数据之间的关系
  • 固定或预定义的模式数据存储在行和列中
  • DB支持外键关系。
  • 如果我们违反任何列数据类型或外键或主键,数据将不会被存储。
  • 连接可以有效地用于查询数据。
  • 垂直可扩展(将被限制在硬件上,比如说你不能在内存中添加RAM到服务器机器上,机器有自己的 限制可以增加多少RAM)存储和检索是 数据比较慢很大。

MongoDB的集合 - 的NoSQL DB

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

希望它有助于!