1、什么是CAP定理
CAP定理,也称CAP原则,是一个衡量系统设计的准则。指在一个分布式系统中,一致性(consistency)、可用性(availability)、分区容错性(partition tolerance)三者不可兼得,最多只可得其二。
2、三个特性的具体含义
一致性(C):所有节点在同一时间的数完全一致
可用性(A):服务一直可用,每个请求都能接收到一个响应,无论响应成功或失败
分区容错性(P):分布式系统在遇到某节点或网络分区障碍的时候,仍然能够对外提供满足一致性和可用性的服务。
3、常见的数据库组合类型
(1)CA:
数据库满足数据的一致性和高可用性,但没有扩展性,不考虑分区容忍性,例如超市收银系统、图书管理系统
(2)CP
考虑的是一致性和分区容错性,这种数据库对分布式系统内的通信要求比较高,但通常性能不是特别高,例如火车售票系统
(3)AP
考虑的是实用性和分区容忍性,即外部访问数据,可以更快的得到回应,例如博客系统。
这时候,数据的一致性就可能得不到满足或者对一致性要求低一些,各节点之间的数据同步没有那么快,但能保证数据的最终一致性。
NoSQL大多是典型的AP类型数据库。