第八章:并发控制0.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章:并发控制0

并发控制 一、内容提要 数据库恢复技术和并发控制是数据库管理系统的重要组成部分。重点: 并发控制带来的新问题 封锁及封锁协议 并发调度的可串型性 两段锁协议。 (一)基本概念 并发操作带来的数据不一致性有三类: 丢失更新问题 不可重复读问题 读脏数据问题 产生三类数据不一致性问题的主要原因是:事务的并发操作破坏了事务的隔离性。 并发控制的主要技术是封锁。 基本封锁的类型有:排它锁(简称X锁或写锁)和共享锁(简称S锁或读锁)。 (2)排它型封锁(X封锁): 排它锁 若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它事务都不能再对A加任何类型的锁,直到T释放A上的锁。 共事锁 若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其它事务只能再对A加S锁,直到T释放A上的S锁。这就保证了其它事务可以读A,但在T释放A上的S锁之前不能对A进行任何修改。 (3)三级封锁协议: 一级封锁协议 事务在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括:正常结束(COMMIT)和非正常结束(ROLLBACK)。 二级封锁协议 在一级封锁协议的基础上,加上事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁。 在二级封锁协议由于它读完了数据后即可释放S锁,所以不能保证可重复读。 三级封锁协议 在一级封锁协议的基础上,加上事务T在读数据R之前必须先对其加S锁,直到事务结束时释放S锁。 注 三级封锁协议除了防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。 (4)活锁与死锁: 活锁 是指当事务T1封锁了数据R,事务T2请求封锁数据R于是T2等待,当Tl释放了R上的封锁后,系统首先批准了T3请求,于是T2仍等待,当T3释放了R上的封锁后,又批准了T4请求,……使得T2可能永远等待。这种现象就是活锁。 死锁 是指两个以上的事务分别请求封锁对方已经封锁的数据,导致长期等待而无法继续运行下去的现象叫做死锁。 (5)并发调度的可串行性: 定义 多个事务的并发执行是正确的,当且仅当其结果与某一次序串行地执行它们时的结果相同,我们称这种调度策略是可串行化的调度。 可串行性 是并发事务正确性的准则,按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的才认为是正确调度。 (6)两段封锁协议: 两段封锁协议 是指所有事务必须分两个阶段对数据项加锁和解锁。即事务分两个阶段, 第一阶段是获得封锁,事务可以获得和数据项上的任何类型的锁,但不能释放; 第二阶段是释放封锁,事务可以释放任何数据项上的任何类型的锁,但不能申请。 (7)封锁的粒度: 封锁对象的大小称为封锁的粒度。封锁的对象可以是逻辑单元(如属性、元组、关系、索引项、整个索引直至整个数据库),也可以是物理单元(如数据页或索引页)。 习 题 一、选择题 1、使某个事务永远处于等待状态,而得不到执行的现象称为( )。 A、死锁 B、活锁 C、串行调度 D、不可串行调度 2、对数据对象施加封锁,可能会引起活锁和死锁问题。避免活锁的简单方法是采用( )的策略。 A、顺序封锁法 B、依次封锁法 C、优先级高先服务 D、先来先服务 二、填空题 1、数据库的并发操作通常会带来 、 和 三类问题。 2、常用的封锁有 和 。 3、事务在修改数据R之前必须先对其加X锁,直到事务结束才释放,称为 协议。 4、如果多个事务依次执行,则称为事务的 ;如果利用分时的方法,同时处理多个事务,则称为事务的 。 5、如果一个事务并发调度的结果与某一串行调度执行结果等价,则这 个并发调度称为 ,否则,是 。 6、使事务永远处于等待状态,得不到执行的现象称为 。有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为 。 7、多粒度封锁中的一个数据对象有 和 两种方式加锁。 第八章 1

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档