我们一般说的ACID(原子性、一致性、隔离性、持久性)是事务的特性,这里大多数情况下,我们讨论事务一般都是指数据库事务,而同时也有分布式事务。这里讨论的也是数据库事务(MySQL事务)。
ACID中,具体的概念就不讨论了,需要注意的是AID是手段,而C是目的。即只有保证了原子性、隔离性、持久性,我们才能实现一致性。
那么在MySQL事务中,ACID的实现方式:
- 原子性(Atomicity)
通过undolog实现
- 隔离性(Isolation)
通过锁+MVCC机制来实现
- 持久性(Durability)
通过binlog、redolog实现
- 一致性(Consistency)
保证了A、I、D后就可以实现一致性