Files
chill_notes/数据库/CAP定理(CAP theorem).md
2026-04-21 20:40:56 +08:00

1.5 KiB
Executable File
Raw Blame History

CAP 定理

Brewer's Theorem — 分布式计算系统的基本原则


定理内容

一个分布式系统不可能同时满足以下三点:

特性 说明
一致性 (Consistency) 所有节点在同一时间具有相同的数据
可用性 (Availability) 保证每个请求都有响应(成功或失败)
分区容忍 (Partition Tolerance) 系统中任意信息丢失或失败不影响系统继续运行

CAP 三角

           C
          /\
         /  \
        /    \
       /  P   \
      /________\
     A

核心:分布式系统最多只能同时满足 两个 特性。


三类系统

CA — 一致性 + 可用性

  • 单点集群
  • 不具备分区容错能力
  • 例子:传统 RDBMSMySQL、PostgreSQL

CP — 一致性 + 分区容忍

  • 牺牲可用性
  • 网络分区时可能不可用
  • 例子MongoDB、HBase、Redis

AP — 可用性 + 分区容忍

  • 牺牲一致性
  • 分区期间保持可用,数据可能不一致
  • 例子Cassandra、DynamoDB

选择指南

场景 选择
金融交易、银行系统 CP强一致性
社交媒体、新闻 Feed AP高可用
需要强一致的传统业务 MySQL/PostgreSQL

NoSQL 数据库分类

类型 数据库
CA 传统关系型数据库
CP MongoDB、HBase、Redis
AP Cassandra、DynamoDB、CouchDB

参考:NoSQL 简介 - 菜鸟教程