原子性一致性隔离性持久性(Atomicity Consistency Isolation Durability)
缩写:ACID
简述
传统数据库事务的四类目标:原子(全或无)、一致(不变量)、隔离(并发互不干扰的程度)、持久(提交后故障不丢)。是理解事务产品承诺的框架,而非某一实现细节。
为何出现
需要统一描述「可靠事务」应对并发与故障的期望。
使用场景
选型对比、故障复盘、与 BASE/最终一致方案对照。
组成与要点
| 性质 | 大意 |
|---|---|
| A 原子性 | 全成或全不成 |
| C 一致性 | 约束不被破坏 |
| I 隔离性 | 并发影响受控 |
| D 持久性 | 提交后故障仍在 |
实践与应用
• 用四性检查设计:崩溃后能否恢复、并发是否可接受异常读。
• C 常依赖应用+约束共同保证。
• D 与 fsync/复制确认级别相关。
注意事项
• 产品宣传 ACID 时仍要看隔离默认级别与同步复制配置。
• 分布式下完整 ACID 成本高。
对比与易混
ACID vs BASE;隔离性光谱而非开关。
局限与争议
强 ACID 跨分片难扩展;许多系统在边界放宽 I 或 C。
来源与线索
事务处理经典教材;各引擎隔离实现文档。
关联术语
• 事务:ACID 所描述的对象
• 隔离级别:I 的可调节实现
• WAL:支撑 D 的常见机制