繁体   English   中英

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

[英]Are documents in NoSQL databases what a table is for a SQL database?

我是整个后端场景的新手,我试图找到哪种数据库最适合我,我需要获取什么文档。 NoSQL数据库中的文档是SQL数据库的表吗?

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

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

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

  • 在SQL数据库中,您必须为表指定一个架构,这不是很容易,建议您对其进行更改,因为它可以确保数据的一致性并允许您对数据进行多次检查(例如,使用JOINS)不同的表。

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

我试图找到哪种数据库最适合我

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM