ACDI 分别是:原子性 (atomicity),一致性 (consistency),隔离性 (isolation),持久性 (durability)。

  • 原子性:指的是事务是一个不可分割的操作,要么全部正确执行,要么全部不执行
  • 一致性:指的是事务把数据库从一种一致性状态转换成另一种一致性状态,事务开始前和事务结束后每数据库的完整性约束没有被破坏
  • 隔离性:指的是每个事务之前是分开的,在事务提交之前对其他事务不可见
  • 持久性:指的是事务一旦提交,其结果就是永久性的,即使宕机也能恢复

关于一致性的补充说明,一致性在不同的场景下有不同的含义,这里所提到的仅仅是单机场景下的事务一致性,感觉不好理解只需要记住下面这个财务转账的例子:A 给 B 转账前和转账后 A + B 的金钱总额是不变的。