ACID理论

ACID理论

背景

ACID理论是数据库为了保证事务正确性而提出的一种理论,它包含四个约束:

  • 原子性(Atomicity):组成事务的一组操作,要么全部成功,要么全部失败,不会在中间的某个环节结束。如果在事务的执行过程中,某个操作失败了,数据库会回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
  • 一致性(Consistency):事务执行前后,数据库的完整性没有被破坏,事务执行的前后都是合法的数据状态。
  • 隔离性(Isolation):数据库允许多个事务并发地对数据进行读写。多个事务并发执行会造成脏读,不可重复读,幻读,而隔离性可以防止多个事务交叉执行导致的数据不一致问题。事务的隔离级别有读未提交读已提交可重复读串行化
  • 持久性(Durability):事务提交后,对数据的修改是持久的,不会因为外部原因丢失。

ACID理论是对事务特性的抽象和总结,方便我们实现事务。也就是说,如果我们使得一组操作具有ACID特性,那么这组操作就可以称之为事务。在单机上,可以通过锁、时间序列等机制保障操作的顺序执行,让系统实现ACID特性。但是,分布式系统涉及多个节点间的操作,单机ACID的实现方法无能为力。这里就要用到分布式事务协议了。

建议

建议在开发实现分布式系统,如果不是必须,尽量不要实现事务,可以考虑采用强一致性或最终一致性

一致性比较:最终一致性 < 强一致性 < ACID特性

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容