ACID(传统关系型数据库中事务的特征)
atomicity(原子性):
事务里的所有操作,要么全都做完、要么全都不做。事务成功的条件是事务中所有的操作都成功,只要有一个失败,事务就失败并回滚。
consistency(一致性):
数据库要一直处于一致的状态。事务的运行不会改变原本的一致性的约束
durability(持久性)
事务一旦提交之后,所做的修改就永久地保存在了数据库中,即使宕机也不会丢失。
isolation(独立性)
事务之间不会相互影响,如果一个事务想要访问的数据正在被另外一个事务修改,只要另外一个事务不提交,它所访问的数据不会受到为提交事务的影响。
CAP+BASE(分布式数据库系统)
CAP
consistency(强一致性)
availability(可用性)
partition tolerance(分区容错性)
CAP的三进二
分布式数据库系统不在同一地理位置,所以分区容错性必须满足,目前,大多数网站选择P+A(可用性)
C+A:单点集群,满足一致性和可用性,在扩展性上较差
C+P:满足一致性和分区容错性,性能低
P+A:满足可用性和分区容错性,对一致性要求低
BASE
basically available(基本可用)
soft state(软状态)
eventually consistent(最终一致性)
BASE:让系统放松某一时刻对数据一致性的要求来换取系统整体的伸缩性和性能上的改观,最后使用BASE保证最终一致性。