我是靠谱客的博主 怕孤单钥匙,最近开发中收集的这篇文章主要介绍高级数据库系统(Advanced Database System)之:并发控制对比(Concurrency Control)乐观并发控制(optimistic concurrency control)快照隔离(snapshot Isolation)两版本锁(Two-version),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 乐观并发控制(optimistic concurrency control)
- backward validation
- forward validation
- 快照隔离(snapshot Isolation)
- 两版本锁(Two-version)
乐观并发控制(optimistic concurrency control)
- 冲突很少发生的时候,采用乐观并发控制可以有很大的吞吐量,因为几乎不需要对数据加锁
- 只在提交 commit 之间加锁(两阶段锁),加锁时间非常短
- 如果发生了冲突,就重做该事物(repeat the attempts)
- 没有冲突,就提交更改值
backward validation
forward validation
快照隔离(snapshot Isolation)
- 不同于串行化策略
- 与乐观控制有关,也是高吞吐量的策略
- 当事务要进行“写操作” 的时候:
- 检查当前要写的内容是否被其他事务更改
- 没有被更改就进行 commit
- 更改了就 abort
- 读操作不需要进行 check
两版本锁(Two-version)
- 读和写可以同时操作,提高了并发性
- 允许写一个暂时的版本,同时读的是已经 commit 的版本;即写的时候也可以读
- 但是如果这个写的暂时版本要提交,读的版本就要等一下
最后
以上就是怕孤单钥匙为你收集整理的高级数据库系统(Advanced Database System)之:并发控制对比(Concurrency Control)乐观并发控制(optimistic concurrency control)快照隔离(snapshot Isolation)两版本锁(Two-version)的全部内容,希望文章能够帮你解决高级数据库系统(Advanced Database System)之:并发控制对比(Concurrency Control)乐观并发控制(optimistic concurrency control)快照隔离(snapshot Isolation)两版本锁(Two-version)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复