分布式环境下并发控制与封锁.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文档。上传文档
查看更多
1 .2并发控制机制的常用方法及其分类 保证只产生可串行化调度的机制 并发控制机制分类 按分配模式(数据方式) 完全复制的DB 部分复制DB或分片的DB 按网络类型(通信方式) 广播能力的 星型网, 环形网 同步化原则 建立在相互排斥地访问共享数据基础上的算法 通过一些准则(协议)对事务进行排序的算法 悲观并发控制法(事务是相互冲突的),乐观并发控制法(没有太多的事务相互冲突) 2 基于封锁的并发控制方法概述 4. 快照方法 快照方法类似于视图的一种导出关系,但又与视图不同。它是实际数据的暂时凝聚,是数据库的一种存储方式。 快照方法不考虑数据的复制,只考虑每一数据的“主副本”和定义在这些“主副本”上的任意多个快照。快照可以定义为一个或多个“主副本”的部分拷贝,也可以定义为某个或某些“主副本”的全拷贝。 分布式环境下的并发控制与封锁 姓名:刘晓莹 专业:计算机应用技术 学号并发控制概念 基于封锁的并发控制方法概述 1 2 主 要 内 容 1 .1并发控制的概念 通常,数据库总有若干个事务在运行,这些事务可能并发地存取相同的数据,称为事务的并发操作。 当数据库中有多个事务并发执行时,系统必须对并发事务之间的相互作用加以控制,这是通过并发控制机制来实现的。 并发控制就是负责正确协调并发事务的执行,保证这种并发的存取操作不至于破坏数据库的完整性和一致性,确保并发执行的多个事务能够正确地运行并获得正确的结果。 分布式数据库中的并发控制解决多个分布式事务对数据并发执行的正确性,保证数据库的完整性和一致性。比集中式并发控制更复杂。 1 .1 并发控制的概念 集中式DB环境 T1 T2 … Tn DB (一致性 约束) 1 .1并发控制的概念 分布式DB环境 X Y Z T1 T2 1 .1并发控制的概念 并发执行 多处理器 CPU1 CPU2 T1 T2 Time 1 .1并发控制的概念 非并发执行 单处理器 T1 t1 T2 t2 T1 t3 T2 t4 Time CPU 1 .1并发控制的概念 并发控制问题之一:丢失更新 UPDATE x 70 t6 FIND x t2 200 t7 UPDATE x t5 x:=x*2 t4 x:=x-30 t3 FIND x t1 100 t0 更新事务T2 数据库中X的值 更新事务T1 时间 注:其中FIND表示从数据库中读值,UPDATE表示把值写回到数据库 T1T2,结果140,T2T1,结果170, 得到结果是200,显然是不对的,T1在t7丢失更新操作。 1 .1并发控制的概念 并发控制问题之二:不一致分析 FIND x t2 70 t5 UPDATE x t4 x:=x-30 t3 FIND x t1 100 t0 更新事务T2 数据库中A的值 更新事务T1 时间 注:在时间t5事务T2仍认为x的值是100 1 .1并发控制的概念 并发控制问题之三:读脏数据 100 t6 x:=x-10 t2 ROLLBACK t5 FIND x 90(脏数据) t4 UPDATE x t3 FIND x t1 100 t0 更新事务T2 数据库中A的值 更新事务T1 时间 注: 事务T2依赖于事务T1的未完成更新 并发控制算法 悲观法 乐观法 加锁法 集中式加锁 分布式加锁 时标排序法 混合法 加锁法 时序排序法 主副本加锁 基本时标排序 保守时标排序 多版本时标排序 并发控制算法分类 1 .2 并发控制机制的常用方法及其分类 封锁法 事务的同步化是通过对数据库的片断或者数据项进行物理或逻辑封锁来实现的 封锁对象的大小通常称为封锁粒度 封锁方法的类型可以根据在哪里进行封锁来进一步细分 封锁法分类 集中式封锁方法 一个站点被指定为主站点,存放对整个数据库的封锁表,并且负责对全系统事务进行封锁 主副本封锁法:主副本所在站点封锁 分布式封锁法:网络中的站点共享锁的管理 2 基于封锁的并发控制方法概述 基本思想和概念 基本思想 事务访问数据项之前要对该数据项封锁,如果已经被其他事务锁定,就要等待,直到那个事务释放该锁为止 锁的粒度是锁定数据项的范围 一个数据项可以是下列的任何一种: 数据库记录中的一个字段值 一条数据库记录 一个磁盘块(页面) 一个完整的文件 整个数据库 2 基于封锁的并发控制方法概述 基本思想和概念 粒度对并发控制的影响 大多数DBMS缺省设置为记录锁或页面锁 粒度小,并发度高,锁开销大 数据项比较多,锁也多,解锁和封锁操作多,锁表存储空间大(如存储读写时间戳) 粒度大,并发度低,锁开销小 如果是磁盘块,封锁磁盘块中的一条记录B的事务T必须封锁整个磁盘块 而另外一个事务S如果要封锁记录C,而C也在磁盘块中,由

文档评论(0)

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

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

1亿VIP精品文档

相关文档