事务(Transaction)
缩写:无
简述
一组读写操作的逻辑单元:要么一并提交生效,要么回滚如同未发生。是并发与故障下保持业务不变量的基本边界。
为何出现
多步更新与并发交错、进程崩溃会导致部分成功;需要原子边界。
使用场景
转账、下单扣库存、多表一致性写、迁移中的批量单元。
在体系中的位置
应用开启/提交/回滚 → DBMS 日志、锁/MVCC、恢复。
组成与要点
BEGIN → 读写 → COMMIT 或 ROLLBACK
实践与应用
• 事务尽量短;只包真正需要原子的写。
• 明确隔离级别与重试/幂等。
• 捕获死锁与序列化失败并安全重试。
注意事项
• 长事务拖垮 undo/锁/复制。
• 事务内远程调用易扩大失败面。
对比与易混
本地事务 vs 分布式事务;事务 vs 单条自动提交语句。
信号与度量
事务时长、回滚率、锁等待、死锁次数。
关联术语
• ACID:事务期望性质
• 隔离级别:并发可见性档位
• 锁 / MVCC:实现手段
• 日志:持久与恢复基础