一、CAP定理概念
在计算机科学中,CAP定理(CAP theorem),又被称为布鲁尔定理(Brewer’s theorem),他指出在分布式系统中,不可能同时满足以下三点:
1.一致性(Consistency):在某个写操作完成之后的任何读操作都必须返回该写操作写入的值,或者再之后的写操作写入的值。即:各个数据备份的数据内容要保持一致且都为最新数据。
2.可用性(Availability) :任何一个在线的节点收到的请求必须都做出响应。即:不论成功失败,都有回应。
3.分隔容忍/分区容错性(Partition tolerance) :允许网络丢失从一个服务节点到另外一个服务节点的任意信息。即:不同的节点可能会数据不一致,这种情况下我们要保证系统还能正常运行。
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
二、根据CAP原理划分的数据库类别
根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP- 满足一致性,分区容忍性的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
各类型代表数据库: