📖 NoSQL 三大理论基石
NoSQL 三大理论基石:CAP、BASE、最终一致性
📑 CAP
CAP 分别是指?
- C(Consistency) : 强一致性。即多个节点在同一时间具有相同的数据。
- A(Availability) : 可用性 。 不管对错,反正请求一定要有响应。
- P(Tolerance of Network Partition) : 分区容忍性 。分离的节点也可以单独运行,即不局限于一台机器。
鱼和熊掌,不可兼得
不同产品的设计理念
📑 BASE
提到NoSQL的BASE特性,就不得不说传统关系型数据库的事务ACID四性
ACID
ACID | 含义 | 通俗解释 |
---|---|---|
A | Atomicity 原子性 | 要么全部成功,要么全部失败 |
C | Consistency 一致性 | 事务完成时,所有相关数据一致 |
I | Isolation 隔离性 | 并发事务相互隔离 |
D | Durability 持久性 | 事务完成后,这个影响是永久性的 |
BASE
BASE | 含义 | 通俗解释 |
---|---|---|
B A | Basically Availble 基本可用 | 分区出问题,整个系统仍然可用 |
S | Soft state 软状态 | 相对于硬状态的数据立即一致,软状态容忍数据的滞后 |
E | Eventual consistency 最终一致性 | 下面解释 |
📑 最终一致性
强一致性
- 强一致性:一次更新后,可以保证后续访问到的都是最新的数据
弱一致性
- 弱一致性:一次更新后,不能保证后续访问到的都是最新的数据
最终一致性是弱一致性的特例——此时“不能保证”,但过一段时间,则“可以保证”;从“最终结果”看,一致性得到了保证。