从ACID到CAP/BASE
事物具有4个特征,原子性(A),一致性(C),隔离性(I),持久性(D)
在标准的SQL规范中,有四种隔离级别:
(1)读未提交
该隔离级别允许脏读,就是做数据操作还没提交的时候比如其他操作看得见
(2)读已提交
只允许获取已经被提交的数据
(3)可重复读
在事物中,多次读取同一个数据,其值都和事物开始的时刻一致,但是可能出现幻影数据
(4)串行化
通常,将数据库系统的隔离级别设置为授权读取,其他的由应用程序主动采用悲观锁或乐观锁来进行事物控制。
CAP理论就是告诉我们:一个分布式不可能同时满足一致性(C),可用性(A),和分区容错性(P),最多满足两项。
一般来说,分区容错性成为一个分布式系统必然要面对和解决的问题,所以需要在一致性和可用性之间寻求平衡。
BASE理论,B(基本可用),S(软状态),E(最终一致性)。
B:相应时间的损失,功能上的损失
S:数据存在中间状态
E:不需要实时保证系统数据一致性
BASE理论面向的是大型高可用可扩展的分布式系统,不同于ACID的强一致性模型,ACID特性与BASE理论往往又会结合在一起使用。