写点什么

ACID 事务理论

作者:源字节1号
  • 2022 年 7 月 05 日
  • 本文字数:385 字

    阅读完需:约 1 分钟

ACID事务理论

什么是 ACID

一个事务有四个基本特性,也就是我们常说的(ACID):

  1. Atomicity(原子性):事务是一个不可分割的整体,事务内所有操作要么全做成功,要么全失败。

  2. Consistency(一致性):务执行前后,数据从一个状态到另一个状态必须是一致的(A 向 B 转账,不能出现 A 扣了钱,B 却没收到)。

  3. Isolation(隔离性): 多个并发事务之间相互隔离,不能互相干扰。

  4. Durability(持久性):事务完成后,对数据库的更改是永久保存的,不能回滚。

ACID 靠什么保证的呢?

以 MySQL 为例:

A 原子性由 undo log 日志保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行成功的 sql

C 一致性一般由代码层面来保证

I 隔离性由 MVCC 来保证

D 持久性由内存+redo log 来保证,mysql 修改数据同时在内存和 redo log 记录这次操作,事务提交的时候通过 redo log 刷盘,宕机的时候可以从 redo log 恢复


如若转载,请注明出处:开源字节   https://sourcebyte.cn/article/178.html

用户头像

源字节1号

关注

一个着迷于技术又喜欢不断折腾的技术活跃者 2022.03.09 加入

一个着迷于技术又喜欢不断折腾的技术活跃者。喜欢并热爱编程,执着于努力之后所带来的美好生活!

评论

发布
暂无评论
ACID事务理论_软件开发_源字节1号_InfoQ写作社区