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

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

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

1、数据库-ACID理论相关推荐

  1. CAP理论与ACID理论

    关系型数据库ACID理论 关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1.A (Atomicity) 原子性 原子性很容易理解,也 ...

  2. 什么是ACID理论(二阶段、三阶段提交、TCC)

    目录 二阶段提交协议 TCC(Try-Confirm-Cancel) 预留成功 预留失败 三阶段提交协议 总结 Some questions reference ACID理论时对事务特性的抽象和总结, ...

  3. 数据库入门理论知识介绍以及编译安装MySql

    数据库入门理论知识介绍以及编译安装MySql 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1&g ...

  4. (一)MySQL之数据库基本理论

    数据库基本理论 什么是范式 事务的概念以及四个特性 事务的常见分类 事务的4中隔离级别 什么是CAP定理 什么是范式 当设计关系型数据库时,需要遵守不同的规范要求,设计出合理的关系型数据库,这些不同的 ...

  5. mysql的acid_什么是数据库ACID?

    并发主题 什么是数据库ACID? 事务在当今的企业系统无处不在,即使在高并发环境下也可以提供数据的完整性.一个事务是一个只包含所有读/写操作成功的集合.如下图: 一个事务本质上有四个特点ACID: A ...

  6. 二、全国计算机三级数据库考试——理论知识总结(填空题)

    上一篇博客:一.全国计算机三级数据库考试--理论知识总结(选择题)_简时刻的博客-CSDN博客 说明:红色字为三级数据库考试中需要输入的答案,填空题在考试中一共15道题,一题2分,一共30分. IDE ...

  7. 数据库ACID四大特性到底为了啥,一文带你看通透

    小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL江湖路 | 专栏目录   说起数据库四大特性,同学们张口就来,ACID!那为什么要ACID?每种特性的原理又是什么?如何实现的?废话少说,哈 ...

  8. MySQL 数据库锁理论(六)

    9. 数据库锁理论 根据操作类型,锁可分为 读锁(共享锁): 针对同一份数据,多个读操作可以同时进行而并不相互影响. 写锁(互斥锁): 当前写操作在没有完成之前,它会阻断其他写锁和读锁. 根据数据操作 ...

  9. Oracle数据库体系结构理论

    Oracle数据库体系结构理论 我们先看下面几个我们实际工作中经常会遇到的问题: 1.通常说Oracle数据库是什么? 2.如何理解Oracle实例? 3.Oracle实例由哪些部分组成,它们之间的作 ...

最新文章

  1. WIN7上VM中的LINUX如何设置上网
  2. H3C 交换机升级说明
  3. python什么模块动态调用链接库_python 动态调用模块、类、方法(django项目)
  4. 使用 Carla 和 Python 的自动驾驶汽车第 4 部分 —— 强化学习Action
  5. VK Cup 2015 - Qualification Round 1 A. Reposts(树)
  6. [silverlight基础]仿文字连接跑马灯效果-高手绕道
  7. OJ1060: 逆序数字(C语言)
  8. formidable上传文件时出错EXDEV, rename.....
  9. 基于OpenSSL的HTTPS通信C++实现
  10. 俄罗斯方块源代码 java_俄罗斯方块 Java程序源代码 在eclipse上运行
  11. 【应用赏析】Las Vegas利用ParkPad(基于ArcPad)实现公园资产管理
  12. 【计量经济学】工具变量估计与两阶段最小二乘法
  13. 开源软件许可协议介绍
  14. CoAP协议学习笔记 1.3 用UDP工具来调试CoAP
  15. 通达OA工作流-流程设计
  16. op 反馈电阻并联二极管
  17. STM32之定时器详解
  18. 马克思与他的脑机接口
  19. 企业中的IT需求如何管理?
  20. 河南省天一大联考2021高考成绩查询,河南省2019天一大联考高三五联H成绩新鲜出炉,本科分数线公布!...

热门文章

  1. wangeditor java_如何使用wangEditor将数据存放到数据库中
  2. Python单元测试中断言方法
  3. Web前端 学习笔记2(Html)
  4. 使用Python从逐月降水量数据中获取某位置的全年降水量
  5. linux 安装qt 及相关环境配置
  6. 计算机科学与技术专业北上广,学计算机专业是不是只能在北上广工作?
  7. 3ds Max 如何快速定位关键帧?
  8. 笔记:随机误差为什么是高斯分布?
  9. x10max能升级鸿蒙系统吗,3部能直接升级鸿蒙2.0的荣耀旗舰,第一没有意外,第三实力最强...
  10. bootstrap刷新慢?看这里