Mysql 事物的四种特性
温馨提示:
本文最后更新于 2022年12月07日,已超过 883 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
事物的四种特性
1. 原子性: 事物包含的全部操作要么全部成功,要么全部失败回滚,成功必要要完全应用到数据库,失败则不能对数据库产生影响。
2. 一致性:事物执行前和执行后必须处于一致性状态。
例如:用户A 和 用户B 的钱加起来一共是5000,无论用户AB之间是如何相互转换的,事物结束后两个用户的钱加起来还是5000,这就是一致性。
3. 隔离性:当多个用户并发访问数据库时,数据库为每一个用户开启的事物,不会被其他用户的事物所干扰,多个并发事物之间要隔离。
4. 持久性:一个事物一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失事物的操作。
MYSQL 是怎么保障 ACID的?
1. 原子性:A 是通过undo log名为回滚日志来保证
2. 持久性:D 是通过InnoDb的redo log
3. 隔离行:I 是利用MVCC和锁
4. 一致性:C 是最终的目的,通过原子性、持久性、隔离性来保障。
正文到此结束
- 本文标签: 分布式存储
- 本文链接: http://www.ityoulove.com/article/6
- 版权声明: 本文由崔健宇原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权