首页 > 知识点讲解
       封锁的粒度
知识路径: > 数据库技术 > 事务管理 > 数据库的并发控制 > 封锁协议 > 多粒度封锁协议 > 
相关知识点:3个      
        封锁对象的大小称为封锁的粒度。封锁的对象可以是逻辑单元(如属性、元组、关系、索引项、整个索引直至整个数据库),也可以是物理单元(如数据页或索引页)。
        封锁粒度与系统的并发度和并发控制的开销密切相关。封锁的粒度越大,并发度越小,但系统开销也就越小;封锁的粒度越小,并发度越高,但系统开销也就越大。
        选择封锁粒度时必须同时考虑封锁对象和并发度两个因素,对系统开销与并发度进行权衡,以求得最优的效果。一般说来,需要处理大量元组的用户事务可以以关系为封锁对象;需要处理多个关系的大量元组的用户事务可以以数据库为封锁对象;而对于一个处理少量元组的用户事务,可以以元组为封锁对象以提高并发度。
        多粒度(multiple granularity)机制是指通过允许各种大小的数据项并定义数据粒度的层次结构,其中小粒度数据项嵌套在大粒度数据项中。对此,可以构造一个粒度层次图,粒度层次图像一棵倒置的树,故也称多粒度树。
        例如,考虑一个由四层结点构成的多粒度树,该粒度树包括:根结点、区域类型结点、文件类型结点和记录类型结点,如下图所示。
        
        多粒度树
        最高层是根结点,表示整个数据库,其下的结点是区域类型结点,而数据库是由这些区域组成。
        第二层是区域类型结点,每个区域类型结点又以文件类型结点作为其子结点,每个区域是由这些文件类结点组成,任何文件都不能处于一个以上的区域中。
        第三层是文件类型结点,文件类型结点下的是记录类型结点,文件是由作为其子结点的记录组成。
        第四层(最底层)是记录类型结点,也称叶结点。
        粒度树中的每个结点都可以单独加锁(共享锁或排它锁)。当一个事务对结点加锁时,那么该事务也可以同样类型的锁隐含地封锁该结点的全部后代结点。
        例如,假设事务T1显式地对上图中的文件结点B2加排它锁,若事务T2要求封锁文件结点B2的后代结点C23,请分析加锁是否成功?
        分析:由于事务T1显式地对文件结点B2加排它锁,则意味着事务T1隐含地对B2的后代结点C21,C22,…,C2k,加排它锁。当T2要求封锁文件结点B2的后代结点C23时,由于T1已显式地对结点B2加排它锁,意味着结点C23也加了排它锁。当事务T2发出封锁C23命令时,由于C23并没有显式加锁,系统必须从根结点到结点C23开始搜索,如果发现该路径上的某个结点的锁与要加锁的锁类型不相容,T2就必须延迟(等待)。
        采用多粒度树的好处是:减少对后代结点加锁的系统代价。从上例可见,由于事务T1显式地对文件结点B2加排它锁,这样事务T1不用挨个对其后代记录结点C21,C22,…,C2k,加排它锁,从而减少了事务T1对记录结点C21,C22,…,C2k加锁的系统代价。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有