ACID

  1. 原子性(Atomicity)

    事务被分割为不可分割的最小单元, 事务的所有操作要么全部提交成功, 要么全部回滚失败.

  2. 一致性(Consistency)

    数据库在事务执行前后都保持一致性状态. 在一致性状态下, 所有事务对一个数据的读取结果都是相同的.

  3. 隔离性(Isolation)

    一个事务所做的修改在最终提交之前, 对其他事务不可见.

  4. 持久性(Durability)

    一旦事务提交, 则其所做的修改将会永远修改到数据库中. 即使系统发生崩溃, 事务执行的结果也不能丢失. 可以通过数据库备份和恢复来实现, 在系统发生崩溃时, 使用备份的数据库进行数据恢复.

注意

  1. 只有满足一致性, 事务的执行结果才是正确的.
  2. 在无并发的情况下, 事务串行执行, 隔离性一定能够满足. 此时只要能满足原子性, 就一定能满足一致性.
  3. 在并发的情况下, 多个事务并行执行, 事务不仅要满足原子性, 还需要满足隔离性, 才能满足一致性.
  4. 事务满足持久化是为了能够应对数据库崩溃的情况.

ACID