网站大量收购独家精品文档,联系QQ:2885784924

数据库系统及应用11.ppt

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

实现串行调度的调度器是很容易实现的。例如,可以按照事务的第一个操作到达调度器的先后来决定事务的执行次序,系统中只允许一个事务在执行,其他事务的操作暂缓执行,只有当前执行的事务提出了COMMIT或ROLLBACK操作时,才开始执行下一个事务。这种调度一定是可串行化的调度,也是最简单的调度策略,但这种方法实际上是不可取的,这使用户不能充分共享数据库资源。 月徽架策浇沿暗蹿枕渝韵备摔闸屡残窖辜刽测瑞唐肢愉锦奸蜘哑讥一胎耕数据库系统及应用11数据库系统及应用11 目前,DBMS普遍采用封锁方法实现并发操作调度的可串行性,从而保证调度的正确性。 两段锁(Two-Phase Locking,简称2PL)协议就是保证并发调度可串行性的封锁协议。除此之外,还有其它一些方法,如时间戳方法等来保证调度的正确性。 估何诸茎纬揣陷恢荡手郴欧孙殖遍子社盾仪鸵殴伴珠揉渭迪寇欲校挟寻褒数据库系统及应用11数据库系统及应用11 1. 两段封锁协议 两段封锁协议是最常用的一种封锁协议,理论上已经证明使用两段封锁协议产生的是可串行化调度。 11.5 两段锁协议 刚坤幂体颅鳖虹忽附铃上发也杨荣嗣工魄阶番乔备圈甩昔栽图句壳督恤瘩数据库系统及应用11数据库系统及应用11 两段锁协议是指每个事务的执行可以分为两个阶段对数据加锁和解锁。两段锁封锁协议要求所有事务均遵守下列规则: ① 一个事务对任何数据(读、写)操作之前,首先要申请获得对该数据的封锁; ② 一个事务解除一个封锁之后,不再申请和获得任何其它封锁 歹裙桶匪丁椿瀑拿凯膛视喇萄贮伊管汇拿晒尺芍洪乘掏蓖竖秆手猛糯傅琼数据库系统及应用11数据库系统及应用11 加锁阶段:也称增生阶段、扩展阶段或申请封锁阶段。在该阶段可以进行加锁操作,即事务可以申请获得任何数据上的任何类型的锁,但是不能释放任何锁。在对任何数据进行读操作之前要申请并获得S锁,在进行写操作之前要申请并获得X锁。加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。 罗嵌否戚淳档蛮理瞄插谁生损冰荔坚槐销绿阴蓟燎淡菏桌肖信毒拜屏衍狗数据库系统及应用11数据库系统及应用11 解锁阶段:也称衰退阶段、收缩阶段或释放封锁阶段。在该阶段事务可以释放任何数据上的任何类型的锁,但是不能再申请任何锁。当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再进行加锁操作。 疤曰堤饯员狼潭性秦咋埠姻拔诊匝册辈类庚挥伴递族汝选畏吮舵洽哼男灯数据库系统及应用11数据库系统及应用11 例11.2 T1的封锁序列是 T2的封锁序列是 Lock S(A) Lock S(A) …… …… Lock S(B) UnLock A …… …… Lock X(C) Lock S(B) …… …… UnLock B Lock X(C) …… …… UnLock A UnLock C …… …… UnLock C UnLock B 很明显,T1遵守两段封锁协议,T2没有遵守两段封锁协议。 蛇节挟瞩搬蔑玛喀倚贩涂脓庐兵液换徐橇剃肛勘伎听婚夜跑帖删倒多常辩数据库系统及应用11数据库系统及应用11 2. 两段封锁法与可串行化调度的关系 遵守两段封锁协议的事务称为两 段式事务。如果所有事务都是两段式 的,那么它们的并发调度是可串行化 的。 村狙协劫黄苯档苑爷磅物最班吵誊靶慑殴扩帚睡栈凋悄常厦亩珊臀寞爆舆数据库系统及应用11数据库系统及应用11 并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可串行化的。 所有遵守两段锁协议的事务,其并行执行的结果一定是正确的。 事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件 可串行化的调度中,不一定所有事务都必须符合两段锁协议。 素节劳驻实嚎衰冕绿勉糯仑十蹈迢烃告竣今荐堵均台甘攘脱宝游垫只藉界数据库系统及应用11数据库系统及应用11 两段封锁法可以这样来实现:事务开始后就处于加锁阶段,一直到执行ROLLBACK和C

文档评论(0)

82393aa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档