事务:由一系列对系统中数据进行访问与更新的操作组成的一个程序执行逻辑单元,狭义上的事务指数据库事务。
事务有四个特性,分别是:原子性(Actomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。简称事务的ACID特性。
原子性:事务必须是一个原子的操作序列单元。
一致性:事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行前后必须处于一致性状态。
隔离性:在并发环境中,并发的事务是相互隔离的,一个事务的执行不能被其他事物干扰。有四个事务隔离级别:未授权读取、授权读取、可重复读取和串行化。
持久性:事务一旦提交,数据库中对应数据状态的变更是永久的。
CAP定理:一个分布式系统不可能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个基本需求,最多只能满足其中的2个。
BASE理论:Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,其核心思想是即使无法做到强一致性,但每个应用可以根据自身的特点,采用适当的方式使系统达到最终一致性。
基本可用:分布式系统在出现不可知故障的时候,允许损失部分可用性。
弱状态:允许系统中的数据存在中间状态而不会影响系统的整体可用性,即允许系统在数据同步时存在延时。
最终一致性:系统中所有的副本,在经过一段时间同步后,最终能够达到一致的状态。最终一致性存在五种情况:会话一致性、单调读一致性、单调写一致性、因果一致性和读己之所写。