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

ConControl讲述.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
封锁的粒度 封锁粒度 多粒度封锁 意向锁 意向锁 引进意向锁(intention lock)目的 提高对某个数据对象加锁时系统的检查效率 什么是意向锁 对任一结点加基本锁,必须先对它的上层结点加意向锁 如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁 意向锁(续) 例:对任一元组 r 加锁,先关系R加意向锁 事务T要对关系R加X锁, 系统只要检查根结点数据库和关系R是否已加了不相容的锁, 不需要有哪些信誉好的足球投注网站和检查R中的每一个元组是否加了X锁 常用意向锁 意向共享锁(Intent Share Lock,简称IS锁) 意向排它锁(Intent Exclusive Lock,简称IX锁) 共享意向排它锁(Share Intent Exclusive Lock,简称SIX锁) 意向锁(续) IS锁 如果对一个数据对象加IS锁,表示它的后裔结点拟(意向)加S锁。 ? 例:要对某个元组加S锁,则要首先对关系和数据库加IS锁 意向锁(续) IX锁 如果对一个数据对象加IX锁,表示它的后裔结点拟(意向)加X锁。 例:要对某个元组加X锁,则要首先对关系和数据库加IX锁。 意向锁(续) SIX锁 如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX = S + IX。 例:对某个表加SIX锁,则表示该事务要读整个表(所以要对该表加S锁),同时会更新个别元组(所以要对该表加IX锁)。 意向锁(续) 意向锁的相容矩阵 T1 T2 S X IS IX SIX - S Y N Y N N Y X N N N N N Y IS Y N Y Y Y Y IX N N Y Y N Y SIX N N Y N N Y - Y Y Y Y Y Y 意向锁(续) 锁的强度 锁的强度是指它对其他锁的排斥程度 一个事务在申请封锁时以强锁代替弱锁是安全的,反之则不然 SIX X S IX - IS 意向锁(续) 具有意向锁的多粒度封锁方法 申请封锁时应该按自上而下的次序进行; 释放封锁时则应该按自下而上的次序进行 例:事务T要对一个数据对象加锁,必须先对它的上层结点加意向锁 并发控制 并发控制概述 封锁 封锁协议 活锁和死锁 并发调度的可串行性 两段锁协议 封锁的粒度 小结 小结 数据共享与数据一致性是一对矛盾 数据库的价值在很大程度上取决于它所能提供的数据共享度。 数据共享在很大程度上取决于系统允许对数据并发操作的程度。 数据并发程度又取决于数据库中的并发控制机制 另一方面,数据的一致性也取决于并发控制的程度。施加的并发控制愈多,数据的一致性往往愈好。 小结(续) 数据库的并发控制以事务为单位 数据库的并发控制通常使用封锁机制 两类最常用的封锁 不同级别的封锁协议提供不同的数据一致性保证,提供不同的数据共享度。 三级封锁协议 小结(续) 并发控制机制调度并发事务操作是否正确的判别准则是可串行性 并发操作的正确性则通常由两段锁协议来保证。 两段锁协议是可串行化调度的充分条件,但不是必要条件 小结(续) 对数据对象施加封锁,带来问题 活锁: 先来先服务 死锁: 预防方法 一次封锁法 顺序封锁法 死锁的诊断与解除 超时法 等待图法 小结(续) 不同的数据库管理系统提供的封锁类型、封锁协议、达到的系统一致性级别不尽相同。但是其依据的基本原理和技术是共同的。 * (a) 串行调度策略,正确的调度 Slock B Y=B=2 Unlock B Xlock A A=Y+1 写回A(=3) Unlock A ? ? ? ? ? ? ? Slock A X=A=3 Unlock A Xlock B B=X+1 写回B(=4) Unlock B T1 T2 (b) 串行调度策略,正确的调度 ? ? ? ? ? ? ? Slock B Y=B=3 Unlock B Xlock A A=Y+1 写回A(=4) Unlock A SlockA X=A=2 U

文档评论(0)

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

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

1亿VIP精品文档

相关文档