1 / 37
文档名称:

数据库系统概论.ppt

格式:ppt   大小:957KB   页数:37
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库系统概论.ppt

上传人:日初曦望 2022/3/20 文件大小:957 KB

下载得到文件列表

数据库系统概论.ppt

文档介绍

文档介绍:数据库系统概论
内容提要
并发控制是数据库管理系统的重要组成部分,通过本章的学习,应重点掌握:
并发控制带来的新问题
封锁及封锁协议
并发调度的可串行性
两段锁协议
3
概述
在单处理机系统中,事务的并行执行实际上是这些并有,而X锁的申请迟迟不能获准。这种现象叫活锁。
避免活锁的简单方法是采用“先来先服务”的策略。
15
死锁
一个事务如果申请锁而未获准,则需等待其它事务释放锁。如果事务中出现循环等待时,如果不加干预,则会一直等待下去,这叫死锁。
对付死锁的方法:
检测死锁,发现死锁后处理死锁
防止死锁
16
死锁的诊断(1)
超时法:如果一个事务的等待时间超过了某个时限,就认为发生死锁。
特点:
优点:简单
缺点:一是事务因其它原因(如系统负荷太重、通信受阻等)而使事务等待时间超过时限,可能被误判死锁。二是时限的设置。
17
死锁的诊断(2)
等待图法:等待图是一个有向图G=(T,U)。
T为结点的集合,每个结点表示正在运行的事务
U为边的集合,每条边表示事务等待的情况
当且仅当等待图中出现回路时,死锁发生。
当运行的事务比较多时,维护等待图和检测回路的开销较大,影响系统的性能。
方法是周期性的进行死锁检测。死锁检测周期的确定用实验方法确定最佳值。
18
死锁的解除(1)
出现死锁后,必须由DBMS干预。处理如下:
在循环等待的事务中,选一个事务作为“牺牲者”,给其它事务让路
撤销牺牲的事务,释放其获得的锁及其它资源
将释放的锁让给等待它的事务
被牺牲的事务可以有两种处理:
发消息给有关用户,由用户向系统再交付该事务
由DBMS重新启动该事务
注:被牺牲的事务应等待一段时间才能交付系统,否则可能再发生死锁。
19
死锁的解除(2)
选择哪个事务作为牺牲者,由下列几种选法:
选择最迟交付的事务作为牺牲者
选择获得锁最少的事务作为牺牲者
选择撤销代价最小的事务作为牺牲者
20
死锁的预防—一次封锁法
一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁。
缺点:
有些数据对象过早的加锁,降低了并发度
如果有些事务需要访问的“热点”数据比较多,其它事务总是不断的占有其中某些数据,不能一次获得所需要数据的全部,就会一直等待下去,易发生活锁。
21
死锁的预防—顺序封锁法
顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
缺点:
数据库中一般是按内容访问,而不是按名访问,所以很难预先确定所有的访问对象
数据经常变动,次序也经常调整
上述两种方法用于数据库系统不实际。
22
死锁的预防—事务重执(1)
事务重执:当事务申请锁而未获准时,不是一律等待,而是让一些事务撤销重执。
为区别事务开始执行的先后,每个事务开始执行时,赋予一个唯一的、随时间增长的整数,称为时间标记,记为ts。如两个事务TA和TB,若ts(TA)< ts(TB),表明TA比TB“年老”
事务重执有两种策略
等待—死亡策略
击伤—等待策略
23
死锁的预防—事务重执(2)
等待—死亡策略
设TB持有某对象数据的锁,当TA申请同一数据的锁发生冲突时,按如下规则处理:
If ts(TA)<ts(TB) then TA waits;
else {
rollback TA; / *die* /
restrat TA with the same ts(TA);
}
总是年老的事务等待年轻的事务。
24
死锁的预防—事务重执(3)
击伤—等待策略
设TB持有某对象数据的锁,当TA申请同一数据的锁发生冲突时,按如下规则处理:
If ts(TA)>ts(TB) then TA waits;
else {
rollback TB; / *wound* /
restrat TB with the same ts(TB);
}
总是年轻的事务等待年老的事务。
25
死锁的预防—事务重执(4)
上述两种策略中,当冲突发生时,总是以年轻的事务作为牺牲品。因为年轻的事务随着时间的流逝,总会变成年老的事务,不致永远成为牺牲品。
26
并发调度的可串行性(1)
定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,称这种调度策略为可串行化的调度。
可串行性是并发事务正确性的准则。按这个规则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。
对于n个事务,可有n!中排列次序,即有n!种串行调度。
27
并发调度的可串行性(2)
一个调度S是否可串行化,可用前趋图来测试。前趋图是有向图,点表示所有参与调度的事

最近更新

2026年云南体育运动职业技术学院单招职业技能.. 45页

2026年云南工贸职业技术学院单招职业适应性考.. 44页

2026年云南特殊教育职业学院单招综合素质考试.. 44页

2024年康定县招教考试备考题库必考题 33页

2026年云南轻纺职业学院单招职业倾向性测试模.. 45页

2024年昆明艺术职业学院辅导员考试笔试题库附.. 35页

2026年企业作业人员题库100道含答案(考试直接.. 40页

2024年江西航空职业技术学院马克思主义基本原.. 22页

2026年信阳航空职业学院单招职业倾向性测试模.. 44页

2024年深圳城市职业学院辅导员招聘考试真题汇.. 30页

2024年湖南交通工程学院马克思主义基本原理概.. 21页

2026年党风廉政知识测试题(网校专用) 14页

2025下半年四川宜宾市屏山县事业单位考核招聘.. 36页

2026年共青科技职业学院单招职业技能测试模拟.. 44页

2025中国科学院微电子研究所人工智能芯片与系.. 41页

2025云南昆明市盘龙区金辰街道办事处社区服务.. 32页

2025云南省有色地质局三0八队下属企业招聘14人.. 35页

2026年北京社会管理职业学院单招职业适应性测.. 44页

2026年医学微生物学习题集及答案【精选题】 40页

2025双鸭山饶河县公开招聘社区工作者37人历年.. 34页

2025安徽淮南市八公山区招聘社区“两委”后备.. 52页

2025山西吕梁市级机关(单位)遴选公务员21人考.. 51页

2025年12月广东广州市白云区人民政府鹤龙街道.. 49页

2026年卧底笔试题库100道(有一套) 39页

2026年江西交通职业技术学院单招职业倾向性考.. 37页

2025年新疆考试录用公务员《公安专业科目》真.. 30页

2025年安徽邮电职业技术学院单招职业技能测试.. 66页

2024年南京信息职业技术学院单招职业技能测试.. 78页

CFG群桩基础土方开挖施工方案 6页

全国大学生智能车大赛作品-智能循迹小车技术文.. 31页