NoSQL数据库中的文档是SQL数据库的表吗?

时间:2014-03-20 19:34:28

标签: sql nosql

我是整个后端场景的新手,我正在努力寻找哪种数据库最适合我,我需要获取哪些文档。 NoSQL数据库中的文档是SQL数据库的表吗?

2 个答案:

答案 0 :(得分:2)

只有特定的NoSQL数据库引擎使用文档存储信息,并且它们被命名为NoSQL 面向文档的数据库引擎。最着名的NoSQL面向文档的数据库引擎之一是MongoDB。它们也是以不同方式存储数据的其他NoSQL引擎,例如使用键值结构的Cassandra

  

NoSQL数据库中的文档是一个SQL数据库的表吗?

考虑到面向NoSQL文档的数据库,这些文档与SQL数据库表的行非常相似。相反,SQL数据库表类似于文档集合。 无论如何,它们之间存在很多差异。 例如:

  • 在SQL数据库中,您必须为表指定一个模式,并且它不是很容易并且建议更改它,因为它可以确保数据的一致性并允许您执行多个检查(考虑到不同的表,使用JOINS(例如))。

  • 在NoSQL数据库中,没有为集合指定的架构。这样可以轻松存储大量信息而不会出现任何问题。但是如果你必须执行JOIN来检查存储在不同集合中的数据呢?你不能,因为没有定义架构,也没有在集合之间定义关系。

  

我试图找到最适合我的数据库

这取决于您想要对每个DBMS做什么。如果要存储大量信息而不关心连接,表之间的关系,操作的原子性等,请使用NoSQL数据库引擎。否则,请使用SQL数据库引擎。

答案 1 :(得分:1)

并非每个NoSQL数据库都有文档。它只是NoSQL数据库的一小部分:面向文档的数据库。在这些数据库中,多个文档位于一个集合中。文档和集合大致相当于关系数据库中的行和表。