ACID讲解,ACID简介
ACID:保证数据库事务的完整性提出的理论。
A(Atomicity):原子性,一个事务要一起完成,要么一起失败,不能因为中途一些错误导致数据一部分写入成功,一部分写入失败,失败就要回滚。
C(Consistency):一致性,指的是数据状态一致性,就比如一次性操作三个数据状态为1的数据,给他们加2,一致性就代表三个数据都要等于3,如果一个等于3,二个还等于1就是违反一致性。
I(Isolation):隔离性,指的是事务之前的隔离性,比如A事务和B事务同时在运行,它们直接不能产生联系和影响,不然就是违反隔离性,隔离性产生如下四种隔离级别:
1.读未提交:很好理解,就是A事务和B事务都在操作数据,A操作一个字段的数字不停的叠加叠加,B正好也在操作,这个时候B就能读取到A叠加且未提交的数据,要点就在于事务中的数据在事务未提交的时候也可以被读取到。
2.读已提交:很好理解,与读未提交相反,读取的数据一定是其他的事务提交过后的数据,没提交的不会被读取到。
3.可重复读:指的是在事务开始前我读取了数据A等于1,那在本事务的后续读取A的过程中他的值还是A,这样子就避免了脏读(读取到读未提交又发生了回滚的数据)和不可重复读(第一次和第二次读取的数据不一致)的问题,但是就会产生幻读(提交前查到数据是A,提交后查到是B)的问题,具体解决幻读的方案可以查询Mysql的解决方案作为参考。
4.串读:安全级别最高也是效率最低的方案,就是必须让事务排队操作,A操作完B才能操作,不能采用高效率的多线程或者并发操作。
D(Durability):持久性,很好理解了,就是数据一旦提交就比如实现持久化了,继续后续系统发生了故障、断电断网数据都不会丢失。
总结:
1.我们以Mysql数据库的InnoDB的隔离级别可重复读来做一个扩展,InnoDB是怎么解决幻读的了,第一个是gap锁,就是写的锁,比如A写入id = 1,3,4这三条数据的时候会给这三条数据加锁,B想写入就会阻塞,第二个就是快照度和当前读的两个问题了,快照读很好理解,就是我读取的是啥我写入的时候就按我们读取的写入,当前读就是我当前读取的多少就写入多少,快照读因为MVCC(版本号)能解决幻读的问题,因为是我读取了多少我就修改了多少,但是在当前读的情况下next-key间隙锁来解决幻读问题,总结的内容可能不是太恰当,有不同想法的可以留言。
ACID讲解,ACID简介相关推荐
- ACID与ACID原则
ACID,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability).一个支持事务(T ...
- acid php5,ACID原则
[原子性] 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样. [ ...
- 同一个事务里面对同一条数据做2次修改_[玩转MySQL之九]MySQL事务ACID[2-1]ACID详解...
一. 引言 做数据库相关工作的同学都知道事务,就是一个操作序列 ,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位, ACID又是事务的四大特性. 那么就会有如下疑问: ACID具体代表什 ...
- AutoSAR配置视频讲解:简介
AutoSAR实验视频讲解:闪烁一颗LED实验[简介] 下一篇 | 总目录 大家好,欢迎来到雪云飞星的<AutoSAR实验课的视频讲解>专栏.看过<AutoSAR入门到精通系列讲解& ...
- labview曲线拟合讲解_LABVIEW简介与曲线拟合应用程序初步设计.pptx
LABVIEW简介及应用程序初步设计;虚拟仪器是随着计算机技术.现代测量技术发展起来的新型高科技产品,代表着当今仪器发展的一个新方向;本论文的主要目的就是初步向大家介绍LABVIEW软件,希望引起同学 ...
- Base:一种 Acid 的替代方案
原文链接: BASE: An Acid Alternative 数据库 ACID,都不陌生:原子性.一致性.隔离性和持久性,这在单台服务器就能搞定的时代,很容易实现,但是到了现在,面对如此庞大的访问量 ...
- 分布式事务系列一:BASE,一种ACID的替代方案(eBay分布式事务解决方案)
前言 对于很多业务系统来说,整个系统其实是由多个独立的系统构成的.这些独立的系统由各自的研发小组进行研发和维护,数据往往也存储在各自独立的数据库中. 我们以下单流程为例.下单往往涉及到订单系统.库存系 ...
- CAS:1214891-99-2,BHQ猝灭剂BHQ-2 acid ,BHQ-2 Carboxylic Acid
名称 BHQ-2 Carboxylic Acid Black Hole Quencher-2 acid BHQ-2 acid BHQ-2 COOH CAS 1214891-99-2 外观 深紫色粉末 ...
- 1148026-99-6,Bromo-PEG3-phosphonic acid,Bromo-PEG3-C2-phosphonic acid,PEG连接剂
英文名称:Bromo-PEG3-phosphonic acid Bromo-PEG3-C2-phosphonic acid 分子式:C8H18BrO6P 分子量:321.1 CAS:1148026-9 ...
最新文章
- Kafka工作原理简要概述
- 二、数据分析前,打下数据处理基础(上)
- Java基础:HashMap的用法
- csdn中一篇sock 经验贴..
- No module named 'ConfigParser'
- CSS框模型,浮动,定位以及其他属性
- 简单php文件编写语法
- 《Linux命令行与shell脚本编程大全》 第一、二章 学习笔记
- 使用手机访问vue项目
- 用python编写一个点餐程序_用python写一个 点餐代码--急急急 !!! 希望高人帮忙!...
- 路由器网络性能测试软件,路由器压力测试工具 路由器UDP攻击软件 路由器性能测试...
- 如何用Java的Robot完成模拟鼠标移动和键盘输入(可应用刷网课)
- 2018年的43个最佳网络监控工具
- RGB颜色查询对照表
- html 实现复制功能
- 云服务器ECS/EC2_转载
- CentOS 7设置获取动态及静态IP地址方法
- 大学物理复习--变化的电磁场
- php 爬取股票数据库,【实例】--股票数据定向爬取
- PEDOT:PSS/甘油酸胆碱([Ch][Glyce])离子液体混合材料