NoSQL

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]]

原文地址:https://www.cnblogs.com/kikochz/p/13358024.html