跳到主要内容
uencoder

Transaction

事务是作为单逻辑单元执行的一组操作,满足 ACID 性质,全做或全不做。

用途

将多操作捆绑为原子单元,保证故障与并发下的正确性。

机制

BEGIN 开启,操作执行,COMMIT 提交或 ROLLBACK 回滚。原子性由 undo log 保证,持久性由 redo log/WAL 保证,隔离性由锁或 MVCC 保证。分布式事务用 2PC/3PC 或 Saga 模式。

用例

  • 银行转账
  • 订单与库存扣减
  • 多表关联更新
  • 分布式跨服务操作

示例

  • 输入
    BEGIN; A→B 100; COMMIT
    输出
    Atomic transfer

    All or nothing

常见错误

No explicit transaction causes partial commits
Wrap related operations in a transaction

相关词条

参考链接