数据库事务的四大特性以及事务的隔离级别 数据库事务的四大特性
数据库事务的四大特性如下:
1、原子性
第一个原子性,这个是最简单的 。说的是一个事物内所有操作共同组成一个原子包,要么全部成功,要么全部失败 。这是最基本的特性,保证了因为一些其他因素导致数据库异常 , 或者宕机 。
2、一致性
第二一致性,这个是大家误解最深的,很多博客都喜欢用银行转账的例子来讲一直性,所谓的一致性是基于原子性 。
原子性只保证了一个事物内的所有操作同一性,大家同生死,不会出现你死了,我还活着 。但是,原子性并没有保证大家同一时刻一起生,一起死 。计算机指令是有先后顺序的,这样就决定了一个事物的提交,会经历一个时间过程,那么如果事物提交进行到了一半,我读取了数据库,会不会读到中间结果?
为了防止这样的情况,数据库事物的一致性就规定了事物提交前后,永远只可能存在事物提交前的状态和事物提交后的状态,从一个一致性的状态到另一个一致性状态,而不可能出现中间的过程态 。也就是说事物的执行结果是量子化状态,而不是线性状态 。
数据库提交事物会有一个过程 , 如果提交的时候 , 存在一个时间差,在提交的第一秒,一个删除过程还没完成到了第三秒才完成,会不会第一秒访问的人和第三秒访问的人得到不同的结果?出现不一致,状态的混沌?这就是一致性得保证的只会有前状态和后状态 , 绝不会出现中间态 。
3、隔离性
事物的隔离性 , 基于原子性和一致性,因为事物是原子化,量子化的,所以 , 事物可以有多个原子包的形式并发执行,但是,每个事物互不干扰 。
但是 , 由于多个事物可能操作同一个资源,不同的事物为了保证隔离性,会有很多锁方案,当然这是数据库的实现 , 他们怎么实现的,我们不必深究 。
4、持久性
持久性,当一个事物提交之后,数据库状态永远的发生了改变,这个事物只要提交了,哪怕提交后宕机,他也确确实实的提交了,不会出现因为刚刚宕机了而让提交不生效,是要事物提交,他就像洗不掉的纹身,永远的固化了 , 除非你毁了硬盘 。
【数据库事务的四大特性以及事务的隔离级别 数据库事务的四大特性】
推荐阅读
- 关于第六届李曼中国养猪大会的三件大事
- 相比于规模化养猪场,小散其实有更多的生存优势
- 流金岁月朱锁锁最后的结局 流金岁月朱锁锁的结局是什么
- 彩礼可以退还的法律什么时候出的 彩礼一般什么时候退
- 股市看空看多是什么意思 股票的看多和看空什么意思
- 生化危机5的故事 生化危机5是什么故事
- 保护环境的建议10条简单 保护环境的建议10条
- 保护心脏的最好方法睡觉 保护心脏的最好方法
- 铸刻的意思 铸刻的意思是什么 标准答案
- 赤壁之战是哪年 赤壁之战是哪年级的课文