文档详情

数据库原理及应用第11章-并发控制(2学时)讲解.ppt

发布:2017-04-18约字共45页下载文档
文本预览下载声明
第十一章 并发控制;1. 串行执行 2. 交叉并发 3. 同时并发;一、 概述 二、 封锁 三、 封锁协议 四、 活锁和死锁 五 、 两段锁协议 六 、 封锁的粒度;T1;T1;三类不可重复读;T1;一、 概述 二、 封锁 三、 封锁协议 四、 活锁和死锁 五 、 两段锁协议 六 、 封锁的粒度;什么是封锁?;封锁类型;一、 概述 二、 封锁 三、 封锁协议 四、 活锁和死锁 五 、 两段锁协议 六 、 封锁的粒度;T1;T1;T1;加锁约定:加什么锁?何时释放锁?;;一、 概述 二、 封锁 三、 封锁协议 四、 活锁和死锁 五 、 两段锁协议 六 、 封锁的粒度;1. 活锁;2. 死锁;(1)死锁的预防;(2)死锁的诊断与解除;等待图法;一、 概述 二、 封锁 三、 封锁协议 四、 活锁和死锁 五 、 两段锁协议 六 、 封锁的粒度;并发操作如何调度?;如何保证?;两段锁协议;例:事务1的封锁序列: Slock A | Slock B | Xlock C ... Unlock B | Unlock A | Unlock C;并行事务若遵守两段锁协议,则是可串行的、执行结果是正确的。 遵守两段锁协议是可串行化调度的充分条件,因此可串行化的调度中,不一定所有事务都必须符合两段锁协议。;两段锁协议与一次封锁法 一次封锁法遵守两段锁协议 遵守两段锁协议的事务可能发生死锁;2. 两段锁协议Vs.三级封锁协议 不同目的的协议 两段锁协议 保证并发调度的正确性 三级封锁协议 保证数据一致性 遵守第三级封锁协议必然遵守两段协议;一、 概述 二、 封锁 三、 封锁协议 四、 活锁和死锁 五 、 两段锁协议 六 、 封锁的粒度;1. 封锁粒度;(2)选择封锁粒度的原则;一般原则: 处理多个关系的大量元组:数据库 处理大量元组:关系 只处理少量元组:元组;2. 多粒度封锁;(2)多粒度封锁协议;(3)加锁检查;3. 意向锁;例:对元组 r 加锁,先关系R加意向锁。;意向共享锁(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 ;(3)锁的强度 锁的强度是指它对其他锁的排斥程度 申请封锁时以强锁代替弱锁是安全的,反之不然;结课论文
显示全部
相似文档