Database - 数据库事务ACID
总结
事务管理(ACID),谈到事务一般都是以下四点:
原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性(Consistency)
事务前后数据的完整性必须保持一致。
隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响
举个简单的例子理解以上四点
原子性(Atomicity)
针对同一个事务
这个过程包含两个步骤
A: 800 - 200 = 600
B: 200 + 200 = 400
原子性表示,这两个步骤一起成功,或者一起失败,不能只发生其中一个动作
一致性(Consistency)
针对一个事务操作前与操作后的状态一致
操作前A:800,B:200
操作后A:600,B:400
一致性表示事务完成后,符合逻辑运算
隔离性(Isolation)
针对多个用户同时操作,主要是排除其他事务对本次事务的影响
持久性(Durability)
表示事务结束后的数据不随着外界原因导致数据丢失
操作前A:800,B:200
操作后A:600,B:400
如果在操作前(事务还没有提交)服务器宕机或者断电,那么重启数据库以后,数据状态应该为
A:800,B:200
如果在操作后(事务已经提交)服务器宕机或者断电,那么重启数据库以后,数据状态应该为
A:600,B:400
————————————————
版权声明:本文为CSDN博主「dengjili」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dengjili/article/details/82468576
最新文章
- 今个忽然晓得,原来radio不是普通去获取值的!
- ASP.NET 访问路径 错误提示 HTTP 错误 404.8 原来路径中包含bin目录被拒绝
- 招聘一个靠谱的 iOS
- PHP学习笔记:APACHE配置虚拟目录、一个站点使用多域名配置方式
- Golang 交叉编译
- 每日一词【命令行CMD】
- jdom学习:读取xml文件
- 搭建MHA环境【1】规划+linux相关的设置
- Unity3D手机斗地主游戏开发实战(03)_地主牌显示和出牌逻辑(不定期更新中~~~)
- linux的crash之hardlock排查记录
- 坑爹了多少年的html元素垂直居中问题
- TCP三次握手及TCP连接状态 TCP报文首部格式
- selenium+unittest自动化测试
- 一些用Css实现的效果
- windows10+ubuntu16.04双系统搭建
- D. Imbalanced Array
- Unity 3D用简单的Cube、Sphere实现镜面/哈哈镜效果,只需十几秒哦!
- Abp.Linq.Extensions扩展(1)--static class QueryableExtensions
- Java并发-懒汉式单例设计模式加volatile的原因
- 【转】OAuth的改变
热门文章
- sqoop 数据导入hive
- 人生苦短_我用Python_list(列表)_002
- 重磅 | 阿里云与MongoDB达成战略合作,成为全球唯一提供最新版MongoDB的云厂商
- 理解webpack中的process.env.NODE_ENV
- 【Flutter学习】页面跳转之SliverAppBar,CustomScrollView,NestedScrollView的使用
- element-ul 处理 组件内的弹出框close问题
- nginx查看变量值
- Another Blog
- 设置当内容超出div(文字长度超出div宽度)出现滚动条
- PHP面试 MySQL查询优化