CAP 代表 Consistency(一致性), Availability(可用性)和 Partition tolerance(分区容忍性)。

    注意:这里的 Consistency 与 ACID 里的数据一致性(C)概念不一样。
    这里指分布式节点拥有相同的数据副本。

    CAP 定理断言,任何一个分布式系统都不可能同时满足 C-A-P 三个特性:

    • C — 从每个节点读到相同的数据。
    • A — 从任何位置发起的读写请求都能够成功返回。
    • P — 即使出现分区(部分隔离),也能响应请求。

    基于对一致性 C、可用性 A、分区容忍性 P 的权衡与取舍,就产生了很多不同的数据库:

    • CA:MySQL、SQLServer、PostgreSQL、Oracle
    • CP:HBase、MongoDB、Redis
    • AP:Cassandra、CouchDB、Riak