RDBMS关系型数据库遵循ACID规则
-
A(Atomicity)原子性
事务里的所有操作要么全部完成,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。 -
C (Consistency)一致性
即数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
例如:现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。 -
I (Isolation)独立性
指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要一个事务未提交,它所访问的数据就不受未提交事务的影响 -
D (Durability)持久性
指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
NoSQL
是对不同于传统的关系型数据库的数据库管理系统的统称,NoSQL用于超大规模数据的存储
CAP定理
CAP定理,又被称作布鲁尔定理。它指出对于一个分布式计算系统来说,不可能同时满足以下三点:
-
一致性(Consistency) :所有节点在同一时间具有相同的数据
-
可用性(Availability):保证每个请求不管成功或者失败都有相应
-
分隔容忍(Partition tolerance):系统中任意信息的丢失或失败不会影响系统的继续运作
CAP理论的核心:一个分布式系统不可能同时很好地满足一致性,可用性和分区容错性这三个需求,最多只能同时较好地满足两个。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:
- CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
- CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
- AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
CAP.png
BASE
BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:
- Basically Availble:基本可用
- Soft-state: 软状态、柔性事务。“Soft state”可以理解为“无连接”的,而“Hard state”是“面向连接”的
- Eventual Consistency: 最终一致性,也是ACID的最终目的
NoSQL 数据库分类
NoSQL.png
网友评论