ACID

tim-qtp...小于 1 分钟MySQL数据库

原子性(Atomicity):针对同一个事务中的所有操作要么全部执行成功,要么全部失败回滚,不存在中间状态

一致性(Consistency):事务执行成功后,结果符合数据库规则的,不会出现不符合预期的情况。(转账:总价1200,最后总价还是1200),这边扣了,那边就不会不增加!

隔离性(Isolation):事务之间互不干扰

持久性(Durability):持久性确保一旦事务提交,其所做的修改将永久保存在数据库中,即使系统崩溃或发生其他故障。重启也会执行,不可逆!

InnoDB引擎通过什么技术来保证事务的这四个特性的呢?

  • 持久性是通过redo log(重做日志)来保证的;
  • 原子性是通过undo log(回滚日志)来保证的;
  • 隔离性是通过MVCC(多版本并发控制)或锁机制来保证的;
  • 一致性则是通过特久性+原子性+隔离性来保证;