5.07 Multiple Granularity Locking 多粒度封锁
1 5.07 Multiple Granularity Locking 多粒度封锁
问题的提出:加锁于数据对象, 封锁范围多大?可以: ·整个数据库 。一个区域 一个关系(文件) ·一个元组 一个元组中的某些属性 太细,锁太多 太粗,大面积封锁数据,系统效率太低
2 问题的提出: 加锁于数据对象, 封锁范围多大?可以: ⚫ 整个数据库 ⚫ 一个区域 ⚫ 一个关系(文件) ⚫ 一个元组 ⚫ 一个元组中的某些属性 太细,锁太多; 太粗,大面积封锁数据,系统效率太低
Multiple granularity Locking 多粒度封锁:实际的应用需要 大片封锁,如生成工资发放表, 有时只需封锁个别数据,如查询 某学生的成绩。提供多种粒度的封锁单位,可兼 顾提高并发度和减少锁的数量。叫多粒度封锁。 Single granularity locking 单粒度封锁:用于微机,DBMS不要求高并发 度,以关系为封锁单位
3 ⚫ Multiple granularity Locking 多粒度封锁:实际的应用需要 大片封锁,如生成工资发放表, 有时只需封锁个别数据,如查询 某学生的成绩。提供多种粒度的封锁单位,可兼 顾提高并发度和减少锁的数量。叫多粒度封锁。 ⚫ Single granularity locking 单粒度封锁:用于微机,DBMS不要求高并发 度,以关系为封锁单位
o Explicit locking 显式封锁 ●Implicit locking 隐式封锁 多粒度风锁中,一个数据对象可有两种封锁 方式:显式封锁和隐式封锁。 隐式封锁:上级数据对象被封锁,本级对 象则被隐式封锁。 如关系被封锁,则它的所有元组均被隐式 封锁
4 ⚫ Explicit locking 显式封锁 ⚫ Implicit locking 隐式封锁 多粒度风锁中,一个数据对象可有两种封锁 方式:显式封锁和隐式封锁。 隐式封锁:上级数据对象被封锁,本级对 象则被隐式封锁。 如关系被封锁,则它的所有元组均被隐式 封锁
多粒度封锁,有隐式锁, 检查锁冲突的复杂性,需: ·查上级: 防与上级的隐式锁矛盾。 ·查下级: 防与下级的显式锁矛盾。 intent locking意向锁:为简化上述加锁检 查的复杂性。system-一R中提出。 介绍三种意向锁:
5 多粒度封锁,有隐式锁, 检查锁冲突的复杂性,需: ⚫ 查上级: 防与上级的隐式锁矛盾。 ⚫ 查下级: 防与下级的显式锁矛盾。 intent locking 意向锁:为简化上述加锁检 查的复杂性。system—R中提出。 介绍三种意向锁: