Update from Sync Service

This commit is contained in:
FNS Service
2026-04-21 20:40:56 +08:00
parent cb6afe3aef
commit c0ae2f0edb
4 changed files with 314 additions and 82 deletions

View File

@@ -1,15 +1,77 @@
==在计算机科学中, CAP定理CAP theorem, 又被称作 布鲁尔定理Brewer's theorem, 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:==
# CAP 定理
- **一致性(Consistency)** ==(所有节点在同一时间具有相同的数据)==
- **可用性(Availability)** ==(保证每个请求不管成功或者失败都有响应)==
- **分隔容忍(Partition tolerance)** ==(系统中任意信息的丢失或失败不会影响系统的继续运作)==
> Brewer's Theorem — 分布式计算系统的基本原则
==CAP理论的核心是一个分布式系统不可能同时很好的满足一致性可用性和分区容错性这三个需求最多只能同时较好的满足两个。==
==因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:==
---
- ==CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。==
- ==CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。==
- ==AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。==
![captheoramimage](Exported%20image%2020260407225428-0.png)
> 来自 <[http://www.runoob.com/mongodb/nosql.html](http://www.runoob.com/mongodb/nosql.html)>
> 来自 <[http://www.runoob.com/mongodb/nosql.html](http://www.runoob.com/mongodb/nosql.html)>
## 定理内容
一个分布式系统**不可能同时满足**以下三点:
| 特性 | 说明 |
|------|------|
| **一致性 (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 简介 - 菜鸟教程](http://www.runoob.com/mongodb/nosql.html)