ACID+CAP+BASE+PACELC

时间:2022-12-07 14:58:21


一. RDBMS: ACID

二. 分布式存储: CAP+BASE+PACELC

2.1 CAP

三选二

Consistency(强一致性)

Availablility(可用性)

Partition tolerance(分区容错性):分布式系统必须满足

CA: RDMBMS

AP: 大部分网站架构选择

CP: redis. mongodb

ACID+CAP+BASE+PACELC

2.2 BASE

基本可用(Basically Available)

软状态(Soft State)

最终一致性(Eventually consistence)

分布式系统:放弃系统某一时刻一致性要求,换取系统伸缩性和性能改善。 AP

2.3 救援 PACELC 定理

PACELC 定理指出,在复制数据的系统中:
如果存在分区(“P”),分布式系统可以在可用性和一致性(即“A”和“C”)之间进行权衡;
else(‘E’),当系统在没有分区(“P”)的情况下正常运行时,系统可以在延迟(‘L’)和一致性(‘C’)之间进行权衡。

定理的第一部分(PAC)与CAP定理相同,ELC是扩展。整篇论文假设我们通过复制来保持高可用性。因此,当出现故障时,CAP 定理占上风。但如果不是,我们仍然需要考虑复制系统的一致性和延迟之间的权衡。

ACID+CAP+BASE+PACELC

三. example

ACID , RDBMSs like MySQL, Oracle, and Microsoft SQL Server

BASE , NoSQL databases like MongoDB, Cassandra, and Redis

PA/EL,Dynamo and Cassandra

PC/EC,BigTable and HBase

PA/EC,MongoDB