参考:
http://www.jdon.com/bigdata/how-to-understand-cap.html
N多年前,很多人想研发永动机, 后来能量守恒定理出来以后, 在理论上证明了永动机是不可能存在的.
CAP的提出, 给数据存储的发展方向和系统,在理论上提供了指导.
CAP的概念
- C : 一致性(Consistency):集群中的所有节点,同一时刻是否都是同样的值; 可综合上事务和表关联,更容易理解;
- A : 可用性(Availability):集群中一部分节点故障后,是否还能处理客户端的更新请求;
- P : 分区容忍性(Partition tolerance):数据的分区,分区的意思是指是否允许集群中的节点之间无法通信。我的理解两个问题,能否分区扩展, 水平扩展, 垂直扩展;能否对节点通讯故障容忍;
几种应用的说明
三个维度来对系统做评估.
系统 | C | A | P |
---|---|---|---|
Mysql单机 | 100 | 50 | 0 |
Mysql主从 | 80 | 70 | 30 |
Mysql Pxc | 100 | 80 | 20 |
NoSql | 70 | 80 | 80 |