一. RDBMS: ACID
二. 分布式存储: CAP+BASE+PACELC
2.1 CAP
三选二
Consistency(强一致性)
Availablility(可用性)
Partition tolerance(分区容错性):分布式系统必须满足
CA: RDMBMS
AP: 大部分网站架构选择
CP: redis. mongodb
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 定理占上风。但如果不是,我们仍然需要考虑复制系统的一致性和延迟之间的权衡。
三. 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