事务完整性说白了是在保证一组操作不会把数据带到半完成、半损坏的状态。
先从 ACID 理解
原子性保证要么都成功要么都回滚,一致性保证约束不被破坏,隔离性保证并发事务互不乱套,持久性保证提交后的结果不会因为故障轻易丢失。
为什么它重要
转账、扣库存、记账这类操作都不是单步动作。如果中间只成功一半,业务就会出现账不平、库存错乱、状态不一致的问题。
数据库靠什么实现
通常会结合回滚日志、重做日志、锁和 MVCC 等机制。你看到的是一条事务语句,数据库背后做的是“失败能回退、提交能恢复、并发能隔离”。
单库和分布式的区别
单库事务相对容易由数据库统一保障;一旦跨服务、跨库,就要考虑消息、补偿、幂等和最终一致性,复杂度会明显上升。
一句话理解
事务完整性不是抽象口号,它是在故障和并发都存在的情况下,保证业务结果仍然可信。
正文完




