第5篇_分布式数据库中的并发控制_1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1.3 分布式事务的可串行化调度测试 测试调度S的可串行化 对于调度 S中的事务Ti,在图中创建一个节点Ti 对于每一种这样的情形:如果S中的在Ti执行了W(X)操作后执行Tj的R(X)操作,那么在优先图中创建一条边(Ti→Tj ) 对于每一种这样的情形:如果S中的在Ti执行了R(X)操作后执行Tj的W(X)操作,那么在优先图中创建一条边(Ti→Tj ) 对于每一种这样的情形:如果S中的在Ti执行了W(X)操作后执行Tj的W(X)操作,那么在优先图中创建一条边(Ti→Tj ) 当且仅当优先图中没有闭环时,调度S是可串行化的 5.1.3 分布式事务的可串行化调度测试 测试调度S的可串行化 优先图中存在环路,说明调度是不可串行化的,否则是可串行化的。 环路是指有向图中每条边的起始节点(第一条边除外),都与前一条边的终止节点连接,而第一条边的起始节点于最后一条边的终止节点连接,即事务序列是以同一个节点作为开始和结束的 调度S中事务Ti在事务Tj之前,与S等价的调度中Ti也必须在Tj之前 某项数据导致了调度中的一条边的生成,就把数据项标注到优先图中这条边的旁边 如果调度S中不存在环路,那么就可能存在若干个与S等价的串行调度 5.1.3 分布式事务的可串行化调度测试 T1 T2 T1 T2 T1 T2 T1 T2 T1 T2 S1的优先图 S2的优先图 S3的优先图 S4的优先图 S5的优先图 X Y X Y X Y X Y X Y 存在环路 5.1.3 分布式事务的可串行化调度测试 例子 考虑如下3个事务: T1: Read(x); Write(x); Commit; T2: Write(x); Write(y); Read(z); Commit; T3: Read(x); Read(y); Read(z); Commit; 这3个事务的一个调度: S={ W2(x),W2(y),R2(z),C2,R1(x),W1(x),C1,R3(x), R3(y),R3(z),C3 } 优先图: T2 T1 T3 无环, S是串行调度。 5.1.3 分布式事务的可串行化调度测试 例子 另外一个调度S’: S={ W2(x), R1(x),W1(x),C1,R3(x), W2(y), R3(y), R2(z), C2,R3(z),C3 } 先序图: T2 T1 T3 无环,是可串调度。 5.1.3 分布式事务的可串行化调度测试 可串性理论扩展 可串性理论可以直接扩展到无重复副本的分布式数据库中。 事务在每个站点上的执行调度称作局部调度 如果数据库无重复副本的分布式数据库,并且每个局部调度都是可串调度,只要这些局部调度的顺序一致,则它们的并(全局调度)也是可串调度 但是有副本的情况下,就比较复杂。可能局部调度是可串行化的,而全局调度不是可串行化的。 5.1.4 并发控制机制的常用方法及其分类 保证只产生可串行化调度的机制 并发控制机制分类 按分配模式(数据方式) 完全复制的DB 部分复制DB或分片的DB 按网络类型(通信方式) 广播能力的 星型网, 环形网 同步化原则 建立在相互排斥地访问共享数据基础上的算法 通过一些准则(协议)对事务进行排序的算法 悲观并发控制法(事务是相互冲突的),乐观并发控制法(没有太多的事务相互冲突) 并发控制算法 悲观法 乐观法 加锁法 集中式加锁 分布式加锁 时标排序法 混合法 加锁法 时序排序法 主副本加锁 基本时标排序 保守时标排序 多版本时标排序 5.1.4 并发控制机制的常用方法及其分类 封锁法 事务的同步化是通过对数据库的片断或者数据项进行物理或逻辑封锁来实现的 封锁对象的大小通常称为封锁粒度 封锁方法的类型可以根据在哪里进行封锁来进一步细分 封锁法分类 集中式封锁方法 一个站点被指定为主站点,存放对整个数据库的封锁表,并且负责对全系统事务进行封锁 主副本封锁法:主副本所在站点封锁 分布式封锁法:网络中的站点共享锁的管理 5.2 分布式数据库系统并发控制机制的封锁技术 基于封锁的并发控制方法概述 2PL协议 2PL协议的实现方法 多粒度封锁与意向锁 5.2.1 基于封锁的并发控制方法概述 基本思想和概念 基本思想 事务访问数据项之前要对该数据项封锁,如果已经被其他事务锁定,就要等待,直到那个事务释放该锁为止 锁的粒度 锁定数据项的范围 数据项层次 数据库记录中的一个字段值 一条数据库记录 一个磁盘块(页面) 一个完整的文件 整个数据库 5.2.1 基于封锁的并发控制方法概述 基本思想和概念 粒度对并发控制的影响

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档