1 / 50
文档名称:

数据库系统概论—并发控制.ppt

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

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

分享

预览

数据库系统概论—并发控制.ppt

上传人:我是药神 2022/4/9 文件大小:1.02 MB

下载得到文件列表

数据库系统概论—并发控制.ppt

相关文档

文档介绍

文档介绍:数据库系统概论—并发控制
汇报人:
2. 一致性
事务执行的结果必须是使数据库从一个
一致性状态变到另一个一致性状态
一致性状态:
数据库中只包含成功事务提交的结果
不一致状态:
数据库中包含失败事务的结果
8
数据库系其它任何事务都不能再对A加任何类型的锁,直到T释放A上的X锁。
共享锁:又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
20
数据库系统概论
封锁(Locking)(2)
X锁和S锁的控制方式可有相容矩阵表示。
最左边表示T1已经获得的锁的类型,最上面表示T2的封锁请求, -表示没有加锁。
Y表示相容,请求可以满足;N表示冲突,请求被拒绝。
T1 T2
X
S
-
X
N
N
Y
S
N
Y
Y
-
Y
Y
Y
21
数据库系统概论
一级封锁协议
加锁必须遵守一定的规则,称为封锁协议。
一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。
一级封锁协议中,如果是读数据不修改,是不需要加锁的,可防止丢失修改。
22
数据库系统概论
二级封锁协议
二级封锁协议:在一级封锁协议基础上,加上事务T在读数据R之前必须先对其加上S锁,读完后即可释放S锁。
在二级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。
23
数据库系统概论
三级封锁协议
三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
三级封锁协议除了防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
上述三级协议的主要区别在于:什么操作需要申请封锁,以及何时释放锁。
24
数据库系统概论
不同级别的封锁协议
X锁
S锁
一致性保证
操作结束释放
事务结束释放
操作结束释放
事务结束释放
不丢失修改
不读脏数据
可重复读
一级封锁协议


二级封锁协议




三级封锁协议





25
数据库系统概论
活锁
若某数据对象加了S锁,这时若有其它事务申请对它的X锁,则需等待。但此时若有其它事务申请对它的S锁,按相容矩阵,应可获准。如果不断有事务申请对此数据对象的S锁,以致它始终被S锁占有,而X锁的申请迟迟不能获准。这种现象叫活锁。
避免活锁的简单方法是采用“先来先服务”的策略。
26
数据库系统概论
死锁
一个事务如果申请锁而未获准,则需等待其它事务释放锁。如果事务中出现循环等待时,如果不加干预,则会一直等待下去,这叫死锁。
对付死锁的方法:
检测死锁,发现死锁后处理死锁
防止死锁
27
数据库系统概论
死锁的诊断(1)
超时法:如果一个事务的等待时间超过了某个时限,就认为发生死锁。
特点:
优点:简单
缺点:一是事务因其它原因(如系统负荷太重、通信受阻等)而使事务等待时间超过时限,可能被误判死锁。二是时限的设置。
28
数据库系统概论
死锁的诊断(2)
等待图法:等待图是一个有向图G=(T,U)。
T为结点的集合,每个结点表示正在运行的事务
U为边的集合,每条边表示事务等待的情况
当且仅当等待图中出现回路时,死锁发生。
当运行的事务比较多时,维护等待图和检测回路的开销较大,影响系统的性能。
方法是周期性的进行死锁检测。死锁检测周期的确定用实验方法确定最佳值。
29
数据库系统概论
死锁的解除(1)
出现死锁后,必须由DBMS干预。处理如下:
在循环等待的事务中,选一个事务作为“牺牲者”,给其它事务让路
撤销牺牲的事务,释放其获得的锁及其它资源
将释放的锁让给等待它的事务
被牺牲的事务可以有两种处理:
发消息给有关用户,由用户向系统再交付该事务
由DBMS重新启动该事务
注:被牺牲的事务应等待一段时间才能交付系统,否则可能再发生死锁。
30
数据库系统概论
死锁的解除(2)
选择哪个事务作为牺牲者,由下列几种选法:
选择最迟交付的事务作为牺牲者
选择获得锁最少的事务作为牺牲者
选择撤销代价最小的事务作为牺牲者
31
数据库系统概论
死锁的预防—一次封锁法
一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁。
缺点:
有些数据对象过早的加锁,降低了并发度
如果有些事务需要访问的“热点”数据比较多,其它事务总是不断的占有其中某些数据,不能一次获得所需要数据的全部,就会一直等待下去,易发生活锁。
32
数据库系统概论
死锁

最近更新

2024年贵州水利水电职业技术学院马克思主义基.. 12页

2024年贵阳康养职业大学马克思主义基本原理概.. 13页

2024年辽宁体育运动职业技术学院马克思主义基.. 13页

2024年辽宁省(114所)马克思主义基本原理概论.. 13页

2024年运城学院马克思主义基本原理概论期末考.. 12页

2024年通城县幼儿园教师招教考试备考题库含答.. 31页

2024年道县幼儿园教师招教考试备考题库附答案.. 30页

2024年邱县招教考试备考题库及答案解析(夺冠.. 31页

2024年郑州工业应用技术学院马克思主义基本原.. 12页

2024年鄱阳县招教考试备考题库及答案解析(必.. 30页

2024年重庆工业职业技术大学马克思主义基本原.. 12页

2024年重庆电讯职业学院马克思主义基本原理概.. 13页

2024年金平县幼儿园教师招教考试备考题库带答.. 30页

2024年镇平县幼儿园教师招教考试备考题库含答.. 31页

2024年长春东方职业学院马克思主义基本原理概.. 13页

2024年长沙航空职业技术学院马克思主义基本原.. 12页

2024年闽清县幼儿园教师招教考试备考题库附答.. 31页

2024年阳原县招教考试备考题库含答案解析(夺.. 31页

2024年陕西工业职业技术大学马克思主义基本原.. 13页

2024年集贤县招教考试备考题库含答案解析(必.. 30页

2024年青岛电影学院马克思主义基本原理概论期.. 13页

2024年青阳县幼儿园教师招教考试备考题库带答.. 30页

2024年顺平县招教考试备考题库附答案解析 31页

2024年香港科技大学马克思主义基本原理概论期.. 12页

2024年高阳县招教考试备考题库带答案解析 30页

2024年鹿寨县招教考试备考题库及答案解析(夺.. 31页

2024年黄龙县招教考试备考题库附答案解析(必.. 31页

2024年黑龙江工商学院马克思主义基本原理概论.. 12页

2024年黟县幼儿园教师招教考试备考题库带答案.. 31页

2024年龙江县幼儿园教师招教考试备考题库及答.. 31页