我是靠谱客的博主 怕孤单钥匙,最近开发中收集的这篇文章主要介绍高级数据库系统(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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部