知识卡片

ACID与CAP的C/A同名不同义,不能类比

普通读书笔记卡 · 1673.d

内容

ACID是数据库事务完整性理论,CAP是分布式系统设计理论,字母重合但含义不同:ACID的A(原子性)指事务要么全做要么全不做,CAP的A(可用性)指请求得到合理响应,两者无关;ACID的C指数据库完整性约束不被破坏,CAP的C指多节点数据同步状态,场景也不同(单机事务vs分布式读写)。发散:术语撞名是常见认知陷阱,遇到同名不同理论应先查各自原始定义,而非想当然。

参考来源

- 位置:《从0开始学架构》第27章《23|想成为架构师,你必须掌握的CAP细节》"ACID"一节(源文件:_epub-src/OEBPS/Text/part0026_split_003.html) - 结论依据:原文明确"ACID中的A(Atomicity)和CAP中的A(Availability)意义完全不同,而ACID中的C和CAP中的C名称虽然都是一致性,但含义也完全不一样。ACID中的C是指数据库的数据完整性,而CAP中的C是指分布式节点中的数据一致性……其实CAP和ACID的对比就类似关公战秦琼,虽然关公和秦琼都是武将,但其实没有太多可比性"。 - 原始内容:ACID中的A(Atomicity)和CAP中的A(Availability)意义完全不同,而ACID中的C和CAP中的C名称虽然都是一致性,但含义也完全不一样。ACID中的C是指数据库的数据完整性,而CAP中的C是指分布式节点中的数据一致性……其实CAP和ACID的对比就类似关公战秦琼。