事务理论-acid

事务理论-acid

起男 845 2022-01-17

事务理论-acid

  • 原子性(atomicity):事务是一个不可分割的整体,事务内所有操作要么全部成功,要么全部失败
  • 一致性(consistency):事务执行前后,数据从一个状态到另一个状态必须是一致的
  • 隔离性(isolation):多个并发的事务之间相互隔离,不能互相干扰
  • 持久性(durablity):事务完成后,对数据库的更改是永久保存的,不能回滚

mysql是怎样保证acid的

  • 原子性:由undo log保证,它纪录了需要回滚的日志信息,事务回滚时撤销已经执行成功的sql
  • 一致性:其他三个保证了,一致性就保证了
  • 隔离性:由mvcc+锁保证
  • 持久性:由redo log保证,mysql修改数据的同时redo log纪录这次操作,事务提交的时候通过redo log刷盘,宕机的时候可用从redo log恢复