事务ACID特性中一致性的理解


我们都知道事务的四大特性ACID,但是对于每个特性的含义尤其是一致性网上的资料很多都解释的不是很清楚。最近也一直再思考什么是一致性?

Atomicity(原子性)

事务中原子性是指事务必须是一个原子的操作单元,一个事务中的多个语句要么全部成功,要么全部失败。

Isolation(隔离性)

事务中的隔离性需要结合数据库中的几个隔离界别去理解。隔离级别:

  • (read uncommitted) 读未提交,在一个事务中能读取到另一个未提交事务的操作结果
  • (read committed) 读已提交,在一个事务中能读取到另一个已提交事务的操作结果
  • (read repeatable) 可重复读,在一个事务内,多次读取的数据应该是一个一致的状态。
  • (serializable) 串行,你可以理解事务时排队执行的,没有并发

Durability(持久性)

事务的持久性是指,事务提交以后数据的更改就会被永久的保存下来,即使发生了宕机也不会影响

Consistency(一致性)

看了网上很多资源,觉得知乎上的这个回答应该比较准确
事务ACID特性中一致性的理解