事务(ACID → MySQL 内部是怎么实现的)

news/2025/12/6 15:19:46/文章来源:https://www.cnblogs.com/xfydaydayup/p/19315804

我用一句话总结:

A、C、I、D 不是分开的,它们是 InnoDB 内部六大模块协同“跑出来”的效果。

下面我按“工程师视角”讲每一项在 MySQL 内部到底怎么实现的。


🧱 0. ACID 一句话工程版总结

字母 真正含义(工程师视角) InnoDB 具体实现方式
A(原子性) 要么都成功,要么都失败 Undo Log + 回滚机制
C(一致性) 事务前后数据约束必须满足 依赖开发者 + ACID 联合保证
I(隔离性) 不同事务互不干扰 锁(行锁/间隙锁) + MVCC
D(持久性) 提交就不能丢 Redo Log + WAL + Double Write

1️⃣ A:原子性(Atomicity)—— Undo Log 实现的

工程视角就是一句话:

原子性 = 有撤销日志(Undo Log)→ 哪个 update 失败,就能按日志倒回去。

🧩 Undo Log 里有什么?

例如:

update user set age = 20 where id = 1;

Undo Log 会记录:

(表名 user, 主键 1, 修改前 age = 18)

如果事务失败,直接按 Undo Log 把数据恢复成 18。

🛠️ Undo Log 存在哪?

  • 存在 Undo 页(Undo Page)
  • Rollback Segment 管理
  • 是一条链(所谓 Undo 链)

💡 原子性在 MySQL 内部就一句话:

Undo Log 是“反向补丁(reverse patch)”。

写成功前提:事务还没 commit,随便回滚 → A 实现。


2️⃣ C:一致性(Consistency)—— ACID 联合作用 + 开发者保证

一致性不是 MySQL 单独保证的,它是一个最终结果:

你写的数据必须满足表结构约束(not null、unique、外键)与业务约束。

实现手段:

机制 保证什么一致性
原子性(Undo) 更新失败不会只更新一半
隔离性(MVCC/锁) 不被其他事务插手
持久性(Redo) crash 之后恢复一致
外键、唯一约束 保证业务结构不乱

一致性依赖 ACID ALL,而不是某一个模块。

所以 C 是效果,不是一个独立组件。


3️⃣ I:隔离性(Isolation)—— 锁 + MVCC 实现的

这块你已经理解不少,但我给你用工程师视角浓缩句:

隔离性 = 读靠 MVCC,写靠锁。
避免互相干扰靠 next-key lock。

🔧 写操作:InnoDB 使用行锁体系

  • 行锁(Record Lock)
  • 间隙锁(Gap Lock)
  • Next-Key Lock(Record + Gap)

实现方式:事务写行时加锁,别人不能改。


🔍 读操作:RC / RR 靠 MVCC

MVCC 用三样东西:

  1. undo log(历史版本)
  2. trx_id(每行都有版本号)
  3. read view(事务可见性判断)

RR / RC 的区别:

隔离级别 读取版本策略
RC 每次读都重新生成 ReadView
RR 一个事务内共享同一个 ReadView

一句话:

RR 读取的是“事务开始时的快照”,RC 读取的是“最新快照”。

因此没有幻读靠锁,而不是 MVCC。


4️⃣ D:持久性(Durability)—— Redo Log + WAL

核心机制一句话:

持久性不是靠把数据写入磁盘页,而是靠 Redo Log。
数据页可以慢写,但 redo 必须先落盘。
这就是 WAL:Write-Ahead Logging。


🔥 MySQL 持久性流程全图(极简工程师版)

事务执行:

update ...

流程:

  1. Buffer Pool 中修改页(脏页)
  2. 生成 Redo 日志(物理日志)
  3. Redo Log 先写到磁盘(顺序写,非常快)
  4. 客户端收到“提交成功”
  5. 后台慢慢把脏页(data page)Flush 到磁盘

也就是说:

👉 提交成功 ≠ 数据页落盘
👉 提交成功 = redo log 已落盘

Crash 后,根据 Redo Log 恢复一致状态 → D 实现。


⭐ ACID = 6 个核心组件一起跑出来的

ACID 内部实现核心
A Undo Log
C Undo + Redo + MVCC + 锁
I 锁 + MVCC
D Redo Log + WAL + DoubleWrite

🔥 重点来了:ACID 四个特性不是分开工作的

它们不是线性的,而是像“组件树”一样协作:

事务开始
│
├── 修改 Buffer Pool
├── 写 Undo Log(为了原子性、MVCC)
├── 写 Redo Log(为了持久性)
├── 加锁(为了隔离性)
│
└── 提交 → 决定读写可见性

Undo 与 Lock 共同做隔离性
Undo 与 ReadView 共同做 MVCC
Redo 单独负责持久性
最终共同保证一致性

这就是 InnoDB 的 ACID。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/990276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年箱式可控气氛炉五大品牌排行榜,气氛炉精密型厂家推荐

为帮企业高效锁定适配自身需求的气氛炉供应商,避免选型走弯路,我们从技术参数精度(如控温稳定性、气氛浓度控制)、行业场景适配性(含锂电池材料烧结、金属热处理等垂直领域经验)、全周期服务质量(覆盖定制设计到…

太原 KET/PET 辅导机构口碑排行榜:这两家小程序成家长首选,权威测评告诉你为啥靠谱

太原小店区、迎泽区、杏花岭区、尖草坪区、万柏林区、晋源区、清徐县、阳曲县、娄烦县、古交市的家长们,你是不是正为孩子的 KET/PET 课外补习操碎了心?想找靠谱的家教或教育机构,却怕遇到资质不全、师资参差不齐的…

[开源免费]基于STM32的全自动节水灌溉系统

[开源免费]基于STM32的全自动节水灌溉系统 ——从传感监测到智能控制的完整实践方案 一、项目背景 随着物联网技术与嵌入式控制的发展,农业自动化逐渐从概念走向落地。传统灌溉系统普遍存在“粗放式浇水、浪费水源、人…

[PA 2019] Podatki drogowe 题解

超级大好题,每一个部分的实现都很有难度,环环相扣,精彩绝伦。考虑我们显然不能把 \(O(n^2)\) 的路径们全部列出来排序(我还真这么想过),因此往随机二分的方向想。问题转化成算长度 \(\le\) 当前枚举的长度的路径…

2025年实力不错的GEO源头厂家TOP5:甄选企业抢占AI

AI搜索时代的到来,让生成式引擎优化(GEO)成为企业获客的新阵地。但市场上GEO服务商鱼龙混杂,企业常陷入技术不达标、售后无保障的困境——70%的企业反馈曾因服务商售后响应慢错失流量窗口,65%抱怨GEO优化效果与承…

2025上海代理记账公司TOP5权威推荐:正规机构避坑指南,

上海中小企业财税服务市场规模超200亿元,年增速30%,但45%的企业曾遭遇代理记账低质陷阱:99元代账漏报罚款、兼职会计账务混乱、政策解读偏差导致优惠错失……面对鱼龙混杂的市场,本榜单基于合规性+专业性+性价比三…

2025年中国智能留样柜服务商年度排名:专业的智能留样柜服务

本榜单基于全维度市场调研与真实客户反馈,聚焦智能留样柜核心需求场景(专业服务、售后保障、政府项目适配),筛选出五家标杆企业,为食堂、学校、企事业单位等客户提供客观选型依据,助力精准匹配适配的智能留样柜服…

2025年资质齐全的智慧食堂管理系统服务企业推荐:口碑好的食

本榜单基于全国范围市场调研、真实客户反馈及技术能力评估,聚焦资质齐全食安管理核心需求,筛选出五家标杆服务商,为学校、企事业单位等食堂运营方提供选型参考,助力构建安全、智能的食堂管理体系。 TOP1 推荐:广东…

极端环境下的眼睛:论高温连斜测井的技术原理、挑战与突破

View Post极端环境下的眼睛:论高温连斜测井的技术原理、挑战与突破在石油与天然气勘探开发向深层、超深层及非常规资源进军的过程中,井下环境日益严酷,高温高压成为常态。高温连斜测井,作为定向钻井尤其是深井、超…

2025降重降AI工具可以相信吗?亲测5款论文降重降AI神器

2025降重降AI工具可以相信吗?亲测5款论文降重降AI神器随着毕业季的临近,无数毕业生和科研工作者正面临着一个前所未有的双重挑战:不仅要确保论文的原创度(降重),更要应对日益严格的AIGC(人工智能生成内容)检测…

2025年深圳企业AI智能体官网源头厂家TOP5排行榜,看哪

在AI技术重构企业营销链路的2025年,传统官网静态展示、被动获客的短板愈发凸显,企业亟需能主动交互、精准获客的智能官网解决方案。本文围绕技术落地能力、AI交互效率、获客精准度、客户口碑四大维度,筛选出深圳地区…

政府智能留样柜服务商推荐,知名度高的智能留样柜厂家全解析

在食品安全监管体系不断完善的背景下,政府智能留样柜作为餐饮单位落实主体责任、监管部门实现高效溯源的核心设备,其选择直接关系到食品安全事件的响应速度与处置效率。面对市场上良莠不齐的设备供应商,如何挑选具备…

滴虫性阴道炎2025年药物推荐,安全有效是关键

滴虫性阴道炎2025年药物推荐,安全有效是关键随着生活节奏加快和健康意识提升,阴道炎的防治越来越受到女性朋友的关注。滴虫性阴道炎作为常见类型之一,其用药选择也成为许多人关心的话题。2025年,随着医药科技的进步…

小软件弱网 / 无网场景下 CacheManager 离线表单与拍照上传解决方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

基于SAGA与CQRS实现的自用架构

目前我自己在使用的架构示意图转载请注明出处及作者,谢谢!

1分钟AI一键生成歌曲软件推荐

1分钟AI一键生成歌曲软件推荐引言:你是否曾有过这样的瞬间:脑海中闪过一句绝妙的歌词,眼前浮现一幅动人的画面,或者不经意间哼出一段抓耳的旋律,却苦于没有乐理知识、不会演奏乐器、不懂编曲软件,只能任由这些灵…

2025年五大GEO推广服务排行榜,geo推广服务专业?

为帮企业高效锁定适配自身需求的GEO推广合作伙伴,避免选型走弯路,我们从技术落地能力(如AI平台覆盖度、关键词蒸馏精准性)、成本控制水准(含获客成本优化、预算分配合理性)、全周期服务质量(覆盖前期关键词挖掘…

2025 年 12 月软件开发公司权威推荐榜:小程序开发、APP开发,技术实力与创新服务深度解析

2025 年 12 月软件开发公司权威推荐榜:小程序开发、APP开发,技术实力与创新服务深度解析 在数字化转型浪潮持续深入的当下,企业对定制化软件、小程序及移动应用(APP)的需求已从“锦上添花”转变为“生存必需”。无…

2025年十大口碑好的智能消毒柜源头厂家推荐,学校智能消毒柜

在食品安全与校园健康管理的双重需求下,智能消毒柜已成为学校、企事业单位食堂的刚需设备。面对市场上鱼龙混杂的供应商,如何选择技术可靠、服务完善的源头厂家?以下依据产品性能、校园适配性、售后服务等维度,为你…

2025年上海财税服务公司排名:宝园财税的服务灵活性、基本信

在企业经营中,财税服务是保障合规运营的核心支撑,尤其对中小企业而言,选择靠谱的财税服务商至关重要。面对市场上鱼龙混杂的机构,如何依据服务灵活性、专业度等维度抉择?以下为2025年上海五大靠谱财税服务公司推荐…