MongoDB系列之什么是非关系型数据库

2022-06-14 15:02:14 浏览数 (1)

1、什么是NoSQL?

NoSQL,指的是非关系型的数据库。NoSQL是Not Only SQL的缩写,是对不同于传统的关系型数据库管理系统的统称。非关系型数据库不同于传统的关系型数据库,非关系型数据库对数据的存储不需要特定的模式,适用于大规模的数据存储。

2、SQL VS NoSQL

关系型数据库

NoSQL数据库

关系型数据库管理系统RDBMS

非关系型分布式数据库系统

不支持分布式

默认支持分布式,内置分布式解决方案

结构化查询语言

NoSQL 数据库具有用于非结构化数据的动态模式

适合复杂关联查询

不适合复杂关联查询

遵循ACID属性

遵循CAP()遵循 CAP(一致性、可用性、分区容错性)

可以通过加CPU 或 SSD 等内容来增加单个服务器的负载

可以通过分片或在 NoSQL 数据库中添加更多服务器

示例: MySQL、PostgreSQL、Oracle、SQL Server 等

示例: MongoDB、GraphQL、HBase、Neo4j、Cassandra 等

3、NoSQL数据库分类

类型 | 典型代表| 特点 —|— 列存储 | HBase、Cassandra、Hypertable|按照列存储数据的,方便存储结构化和半结构化的数据,方便做数据压缩 文档存储 | MongoDB、CounchDB | 存储采用一种类似于json的数据结构。存储内容是文档型的,这样就容易对某些字段加索引,实现类似于关系型数据库的功能 Key-value 存储 Tokyo、Cabinet/Tyrant、Berkelery DB、Memcache、Redis|可以通过 key 快速查询到其value。 图存储 Neo4J| FlockDB|图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便 对象存储 | Db4o、Versant|通过类似面向对象语言的语法操作数据库,通过对象的方式存储数据。 XML数据库 | Berkeley DB XML、BaseX|高效的存储XML 数据,并存储 XML 的内部查询语法,比如XQuery,Xpath。

图例来自:https://www.pdai.tech/md/db/nosql-mongo/mongo-x-basic.html

0 人点赞