(17)--第11章 -4-两端锁协议数据库原理与应用.pdf

(17)--第11章 -4-两端锁协议数据库原理与应用.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据库系统概论

AnIntroductiontoDatabaseSystems

11.6两段锁协议

v数据库管理系统普遍采用两段锁协议的方法实现

并发调度的可串行性,从而保证调度的正确性

v两段锁协议的内容

§在对任何数据进行读、写操作之前,事务首

先要获得对该数据的封锁

§在释放一个封锁之后,事务不再获得任何

其他封锁。

两段锁协议(续)

v“两段”锁的含义

§事务分为两个阶段

Ø第一阶段是获得封锁,也称为扩展阶段;

Ø事务可以申请获得任何数据项上的任何类型

的锁,但是不能释放任何锁

Ø第二阶段是释放封锁,也称为收缩阶段。

Ø事务可以释放任何数据项上的任何类型的锁,

但是不能再申请任何锁

两段锁协议(续)

事务T遵守两段锁协议,其封锁序列是:

1

SlockASlockBXlockCUnlockBUnlockAUnlockC;

|←扩展阶段→||←收缩阶段→|

事务T不遵守两段锁协议,其封锁序列是:

2

SlockAUnlockASlockBXlockCUnlockCUnlockB;

两段锁协议(续)

v并行执行的所有事务均遵守两段锁协议,则对这

些事务的所有并行调度策略都是可串行化的。

所有遵守两段锁协议的事务,其并行执行的结果

一定是正确的

v事务遵守两段锁协议是可串行化调度的充分条件,

而不是必要条件

v即:可串行化的调度中,不一定所有事务都必须

符合两段锁协议。

两段锁协议(续)

T1T2T1T2T1T2

SlockB

SlockB

读B2读B2SlockA

YBYB读A2

XlockAUnlockBXA

SlockAXlockAUnlockA

等待SlockA

SlockB

AY+1等待等待

读B2

写回A3等待AY+1等待YBXlockB

UnlockB等待写回A3等待UnlockB等待

UnlockA等待UnlockA等待

文档评论(0)

158****6446 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档