- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DB11数据库第十一章教学
Unlock( C ) W(A=210) Unlock(B) Xlock(A) R(A=160) 等待 Unlock(A) 等待 W(B=1100) 等待 Xlock(B) 等待 R(B=1000) 等待 Slock(B) Slock(A) W(C=250) Xlock( C ) W(A=160) Xlock(A) R(C=300) Slock(C) R(A=260) Slock(A) 事务T2 事务T1 遵守两段锁协议的可串行化调度 左图的调度是遵守两段锁协议的,因此一定是一个可串行化调度 11.5 两段锁协议 事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。 若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的 若并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议 11.5 两段锁协议 两段锁协议与防止死锁的一次封锁法 一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行,因此一次封锁法遵守两段锁协议 但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁 11.5 两段锁协议 11.6 封锁的粒度 封锁对象的大小称为封锁粒度(Granularity) 封锁的对象:逻辑单元,物理单元 例:在关系数据库中,封锁对象: 逻辑单元: 属性值、属性值集合、元组、关系、索引项、整个索引、整个数据库等 物理单元:页(数据页或索引页)、物理记录等 封锁粒度与系统的并发度和并发控制的开销密切相关。 封锁的粒度越大,数据库所能够封锁的数据单元就越少,并发度就越小,系统开销也越小; 封锁的粒度越小,并发度较高,但系统开销也就越大 11.6 封锁的粒度 选择封锁粒度原则 例 若封锁粒度是数据页,事务T1需要修改元组L1,则T1必须对包含L1的整个数据页A加锁。如果T1对A加锁后事务T2要修改A中元组L2,则T2被迫等待,直到T1释放A。 如果封锁粒度是元组,则T1和T2可以同时对L1和L2加锁,不需要互相等待,提高了系统的并行度。 又如,事务T需要读取整个表,若封锁粒度是元组,T必须对表中的每一个元组加锁,开销极大 11.6 封锁的粒度 11.6 封锁的粒度 多粒度封锁(Multiple Granularity Locking) 在一个系统中同时支持多种封锁粒度供不同的事务选择 选择封锁粒度 同时考虑封锁开销和并发度两个因素,适当选择封锁粒度 需要处理多个关系的大量元组的用户事务:以数据库为封锁单位 需要处理大量元组的用户事务:以关系为封锁单元 只处理少量元组的用户事务:以元组为封锁单位 多粒度树 以树形结构来表示多级封锁粒度 根结点是整个数据库,表示最大的数据粒度 叶结点表示最小的数据粒度 11.6.1 多粒度封锁 例:三级粒度树。根结点为数据库,数据库的子结点为关系,关系的子结点为元组。 数据库 关系Rn 关系R1 元组 元组 元组 元组 …… …… …… 三级粒度树 11.6.1 多粒度封锁 允许多粒度树中的每个结点被独立地加锁 对一个结点加锁意味着这个结点的所有后裔结点也被加以同样类型的锁 在多粒度封锁中一个数据对象可能以两种方式封锁:显式封锁和隐式封锁 11.6.1 多粒度封锁 显式封锁: 直接加到数据对象上的封锁 隐式封锁: 该数据对象没有独立加锁,是由于其上级结点加锁而使该数据对象加上了锁 显式封锁和隐式封锁的效果是一样的 11.6.1 多粒度封锁 系统检查封锁冲突时 要检查显式封锁 还要检查隐式封锁 例如事务T要对关系R1加X锁 系统必须搜索其上级结点数据库、关系R1 还要搜索R1的下级结点,即R1中的每一个元组 如果其中某一个数据对象已经加了不相容锁,则T必须等待 11.6.1 多粒度封锁 对某个数据对象加锁,系统要检查 该数据对象 有无显式封锁与之冲突 所有上级结点 检查本事务的显式封锁是否与该数据对象上的隐式封锁冲突:(由上级结点已加的封锁造成的) 所有下级结点 看上面的显式封锁是否与本事务的隐式封锁(将加到下级结点的封锁)冲突 11.6.1 多粒度封锁 11.6.2 意向锁 引进意向锁(intention lock)目的 提高对某个数据对象加锁时系统的检查效率 如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁 对任一结点加基本锁,必须先对它的上层结点加意向锁 例如,对任一元组加锁时,必须先对它所在的数据库和关系加意向锁 11.6.2 意向锁 意向共享锁(Intent Share Lock,简称IS锁) 意向排它锁(Intent Exclusive Lock,简称IX锁) 共享意向排它锁(Share Intent Exclusive Lock,简称SIX锁)
您可能关注的文档
- 1.2-日新月异的信息技术新.ppt
- 小学数学五年级下册期中测试题.1.doc
- 小学数学五年级上册试卷(国庆假作业).doc
- 1.2.1-1.2.2基本初等函数的导数公式及四则运算.ppt
- 小学数学五年级下册期中试题.doc
- 1.2-日新月异的信息技术.ppt
- 小学数学五年级下册期末总复习—分数应用题.doc
- 小学数学五年级下期中试卷.doc
- 小学数学人教版三年级下册知识点复习.doc
- CDZ6140系列技术规范书.doc
- 2023-2024学年初中语文部编版五四制八年级下第五单元单元测试(含答案解 完整版72275303.pdf
- 2023-2024学年度五年级数学下册期中测试题 人教版(含答案) .pdf
- 2023-2024学年初中政治部编版七年级上第三单元 师长情谊单元测试(含答 完整版72266556.pdf
- 2023-2024学年江苏省南京市溧水区第二高级中学高考全国统考预测密卷历.pdf
- 2023-2024学年初中语文部编版八年级下第二单元单元测试(含答案解析完整版722756927.pdf
- 2023-2024学年初中历史部编版九年级上第五单元 步入近代单元测试(含答 完整版72271298.pdf
- 2023-2024学年初中政治部编版八年级下第三单元 人民当家作主单元测试完整版722852823.pdf
- 2023-2024学年山东省聊城第二中学高考历史二模试卷含解析 .pdf
- 精神病综合征PPT大纲.pptx
- 西班牙语职业生涯规划.pptx
最近下载
- 烟草病虫害和缺素症图谱.ppt
- 上学期期末(暨中考一模)语文试题(含答案与解析 .pdf VIP
- 吉林省土地整治项目竣工验收标准文件.pdf VIP
- 2024年《高等教育心理学》教师岗前培训考试复习题库(含答案).pdf VIP
- 第8课《大家的“朋友”》精品说课PPT道德与法治三年级下册.pptx
- 国家开放大学《证券投资分析》形考任务(1-5)试题及答案解析.docx VIP
- 部编本语文六年级上册 全册各单元教材解读 .pdf
- 药学《有机化学》山东大学网络教育考试模拟题和答案.docx
- 党的二十届三中全会精神测试题200道.docx VIP
- (苏教版)数学六年级上册期末复习计算题强化训练习题卡,30份题组.pdf
文档评论(0)