[英]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.