事务的 ACID 特性是什么?

发布于

一、原子性(Atomicity)

事务中的操作要么全部成功,要么全部失败回滚。由 undo log 保证:记录修改前的旧值,回滚时反向操作。

二、一致性(Consistency)

事务前后数据满足业务约束。由原子性、隔离性、持久性共同保证,是事务的最终目标。

三、隔离性(Isolation)

并发事务互不干扰。由锁机制和 MVCC 保证。

四、持久性(Durability)

事务提交后数据永久保存。由 redo log 保证:修改先写 redo log,即使宕机也能恢复。

五、InnoDB 实现

  • undo log → 原子性
  • redo log → 持久性
  • MVCC + 锁 → 隔离性