NoSQL
参考链接:
https://www.runoob.com/mongodb/nosql.html
概念
NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
RDBMS vs NoSQL
RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL) (SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务
NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
- 键 - 值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性
CAP定理
-
Consistency(强一致性C)
同一时间具有相同的数据。
-
Availability(可用性A)
保证每个请求不管成功或者失败都有响应; 节点故障后,还能否响应客户端的请求。
-
Partition tolerance(分区容错性P)
系统中任意信息的丢失或失败不会影响系统的继续运作。
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个,如果分布式系统, 必须满足p
CA- 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大, 比如[[Mysql的四中事务隔离级别|mysql]], Oracle
CP- 满足一致性, 分区容忍性的系统,通常性能不是特别高
AP- 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些
![[r1.png]]