分布式领域CAP理论:Consistency(一致性)、Availability(可用性)、Tolerance to network Partitions)分区容错性),任何分布式系统只可能同时满足二点,没法三者兼顾。架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。
关系数据库的ACID模型拥有高一致性和可靠性,丧失可用性。
ACID,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。其中的一致性强调当程序员定义的事务完成时,数据库处于一致的状态。如对于转帐来说,事务完成时必须是A少了多少钱B就多了多 少钱。
对于很多互联网应用来说,对于一致性要求可以降低,而可用性(Availability)的要求则更为明显。从而产生了弱一致性的理论BASE。 BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性。
BASE,即Basically Availble(基本可用)、Soft-state (软状态)、Eventual Consistency (最终一致性)。