MySQL事务基本概念¶
核心概念与特性¶
类别 | 词条 | 详细说明 |
---|---|---|
核心概念 | 事务 | 一组逻辑操作单元,具有ACID特性,保证数据操作可靠性 |
分布式事务 | 跨多个数据库或服务的事务,需解决一致性问题 | |
事务特性 | ACID | 原子性/一致性/隔离性/持久性四大特性 |
原子性(Atomicity) | 事务操作全部成功或全部回滚 | |
一致性(Consistency) | 事务前后数据状态合法 | |
隔离性(Isolation) | 并发事务互不干扰 | |
持久性(Durability) | 提交后数据永久保存 | |
事务类型 | 扁平事务 | 最基础的事务类型,无嵌套结构 |
带保存点的扁平事务 | 支持回滚到指定保存点的扁平事务 | |
链式事务 | 后续事务依赖前一个事务的提交结果 | |
嵌套事务 | 支持事务内嵌套子事务的结构 | |
分布式事务 | 跨节点/服务的事务,需协调一致 | |
数据库实现 | MySQL事务 | 通过锁机制和MVCC实现事务特性 |
锁机制 | 行锁/表锁/间隙锁等,保证并发操作隔离��� | |
MVCC | 多版本并发控制,通过快照读实现非阻塞并发 | |
并发控制 | 死锁 | 多事务循环等待资源导致的僵局 |
锁策略 | 乐观锁/悲观锁,控制并发冲突 | |
隔离级别 | 读未提交/读已提交/可重复读/串行化 | |
问题与解决方案 | 脏读 | 读取未提交数据导致的不一致 |
不可重复读 | 同一查询在不同时间返回不同结果 | |
幻读 | 新增数据导致查询结果不一致 | |
保存点机制 | 允许部分回滚到指定状态 | |
分布式事务基础 | 两阶段提交(2PC) | 协调者与参与者通过两阶段达成事务提交共识 |
三阶段提交(3PC) | 在2PC基础上增加超时机制,降低阻塞风险 | |
补偿事务(TCC) | 通过Try-Confirm-Cancel补偿机制实现最终一致性 | |
可靠消息最终一致性 | 通过消息队列异步保证最终数据一致 | |
最大努力通知型 | 通过重试机制通知参与者完成事务 |
总结¶
本章系统构建了分布式事务的知识框架,从基础概念入手,首先解析了事务的ACID核心特性与五种事务类型,重点阐述了本地事务的实现机制(MySQL锁机制和MVCC),并深入分析了并发控制中死锁、隔离级别等关键问题。通过对比本地事务与分布式事务的差异,为后续深入探讨分布式事务解决方案(2PC/3PC/TCC/可靠消息等)奠定了理论基础。文中通过图示化方式清晰展现了事务特性与问题之间的关联,���理解分布式环境下的复杂事务场景提供了清晰的思维模型。