Transaction
事务是作为单逻辑单元执行的一组操作,满足 ACID 性质,全做或全不做。
用途
将多操作捆绑为原子单元,保证故障与并发下的正确性。
机制
BEGIN 开启,操作执行,COMMIT 提交或 ROLLBACK 回滚。原子性由 undo log 保证,持久性由 redo log/WAL 保证,隔离性由锁或 MVCC 保证。分布式事务用 2PC/3PC 或 Saga 模式。
用例
- 银行转账
- 订单与库存扣减
- 多表关联更新
- 分布式跨服务操作
示例
- 输入
BEGIN; A→B 100; COMMIT输出Atomic transferAll or nothing
常见错误
- No explicit transaction causes partial commits
- Wrap related operations in a transaction