关系型数据库满足以下四个条件:
A:原子性。一个事务里面的操作要么全部执行,要么全部不执行。
C:一致性。事务前后,数据库的状态应该是一致的。
I:隔离性。事务只知道自己的内部情况。
D:持久性。事务执行之后,不能撤回,造成的影响是永久的。
对于nosql而言,主要就是cap+base。
对于cap,任何分布式系统只能满足其中两个条件,无法三者兼顾。
C:强一致性。数据一致更新,所有数据变动都是同步的
A:高可用性。好的响应性能。
P:分区容忍性。可靠性高。
关系型数据库一般都是ca,分布式系统是cp或者ap。
BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性。
BA:基本可用性。支持分区失败
S:软状态。状态可以有一段时间不同步,异步。
E:最终一致性。最终数据是一致的就可以了,而不是时时高一致。