高级数据库中的并发控制问题.ppt

上传人:za****8 文档编号:11803937 上传时间:2020-05-03 格式:PPT 页数:19 大小:221.50KB
返回 下载 相关 举报
高级数据库中的并发控制问题.ppt_第1页
第1页 / 共19页
高级数据库中的并发控制问题.ppt_第2页
第2页 / 共19页
高级数据库中的并发控制问题.ppt_第3页
第3页 / 共19页
点击查看更多>>
资源描述
高级数据库中的并发控制问题,传统的并发控制方法,基本2PL协议,如果一个事务所有的封锁操作(读写)都在第一个解锁操作之前,那么它就遵守2PL协议事务的执行中Lock的管理分成两个阶段上升阶段(成长阶段):获取Lock阶段(只能获取锁)收缩阶段(衰退阶段):释放Lock阶段(只能解锁)封锁点是指事务获得了它所要求的所有锁,并且还没有开始释放任何锁的时刻如果允许锁的转换,锁的升级必须在成长阶段进行,锁的降级必须在锁的衰退阶段进行。2PL可以保证事务执行的可串行性.,2PL协议(两阶段封锁协议),开始,加锁点,结束,事务执行过程,获得锁,释放锁,两阶段封锁协议,基本2PL协议,基本2PL协议实现的难点锁管理器必须要知道事务的锁点位置级联撤销(cascadingaborts)如果事务在开始释放Lock后又Abort时,将引起级联撤销(cascadingaborts)(其他访问这个数据项的事务也被撤销)保守2PL要求事务在开始执行之前就持有所有它要访问的数据项上的锁(可避免死锁)事务要预先声明它的读集和写集(很难做到,所以很少用)大多数2PL调度器实现的是严格2PL(S2PL)事务在提交或者撤销之前,绝对不释放任何一个写锁事务结束时(提交或者撤销),同时释放所有的锁,开始,结束,事务执行阶段,获得锁,释放锁,严格2PL(StrictTwo-phaseLocking)协议,数据项使用,严格2PL事务T在提交或撤销之前,不能释放任何一个锁(写锁或者读锁),因此它比基本2PL更容易实现,总之,传统的并发控制方法是以等待和放弃为基本手段,目的是实现事务的可串行化运行。,高级数据库系统对并发控制的新需求,适合长事务的并发控制方法,对适合于长事务并发控制方法的研究分为两大流派:,其一是依然以可串行性为判断事务正确运行的标准,同时利用事务的语义,扩展可串行化技术,达到提高系统并发度的目的。如利它锁,其二为突破可串行性标准的限制,充分利用应用层语义和一致性谓词,构造非串行化的,维护数据库状态一致的事务经历。如NT/PV模型,利它锁协议,赠锁操作的规则如下:,(1)事务只能对它们当前上锁的数据项实行赠锁操作;(2)事务不能存取任何已被自己赠锁后的数据项,利它锁方法虽不能完全解决长事务并发控制的问题,但可明显缓解事务的长期等待。,基于NTPV模型的井发控制方法,嵌套事务(NestTransaction),谓词(Predicates)和多版本(MultipleVersion),基于NTPV模型的并发控制方法被认为是一种适于长事务管理,突破可串行化限制,具有前途的并发控制方法!,三个概念,嵌套事务是指在NTPV模型中每个事务都可看作由若干子事务组成,每个子事务又是一个事务.如此形成事务的嵌套树,直至用树的叶结点代表数据库操作,谓词用来表示数据库的一致性限制,多版本允许一数据项同时存在不同时期的多个版本值,这三个概念的存在使NTPV模型适于描述划分长事务,有利于提高系统并发度!,利它锁方法和基于NT/PV的并发控制方法,代表了两种不同的工作成果。前者试图改进传统方法以适应数据库应用新需求;而后者则尝试突破传统方法的局限,充分利用应用层语义,构造基于新的正确性标准的事务经历。,利它锁和NT/PV比较,谢谢,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!