分布式系统——CAP理论
CAP的概念
CAP理论又叫布鲁尔理论,指的是在一个共享数据的分布式存储系统中,下面三者最多只能同时保证二者:
- 一致性(Consistency):读操作得到最近一次写入的数据
- 可用性(Availability):请求在限定时间内从非失败节点得到非失败的响应
- 分区容忍性(Partition Tolerance):系统允许节点间网络消息的丢失或延迟(出现分区)
CAP理论不是三选二,而是二选一,即从一致性CP和可用性AP中选择合适的一个
传统关系型数据库——一致性CA
云上的NoSQL数据库——可用性AP
CAP、最终一致性、 BASE,被称作 NoSQL 的三大基石。
BA:基本可用,为了保障核心特性基本可用,无论在次要特性的功能还是性能都可以牺牲。优雅降级
S:软状态,Soft State,允许系统中存在中间状态,即为了可用性,牺牲了一致性
E:最终一致性,Eventually Consistency
ACID是关系型数据库的特性
Atomicity:原子性,事务执行过程只有两种状态,提交成功改变状态、提交失败回滚到提交前的状态
Consistency:一致性
Isolation:隔离性,多个并发事务同一时间对于数据进行读写的能力,同时执行,互不影响
Durability:持久性,一旦事务提交成功,那么改变是永久性的。