第10章数据库并发性.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文档。上传文档
查看更多
第10章数据库并发性

Confidential / All Right Reserved 第十章 数据库并发性 第十章 数据库并发性 10.1 并发性概述 10.1.1 事务的概念 工作单元 为了保证数据库中数据的一致性,对于应用程序来说,常常必须一步完成一系列数据的变动。 10.1.1 事务的概念 事务的四个特性 10.1.2 事务的串行调度、并发调度及可串行化 10.1.2 事务的串行调度、并发调度及可串行化 例:有两个事务T1和T2,它们都要预订某列次火车的硬座 车票1张和卧铺3张,因此它们包含了下列操作: 10.1.2 事务的串行调度、并发调度及可串行化 串行调度的结果总是正确的 10.1.2 事务的串行调度、并发调度及可串行化 并发调度效率高,但结果不一定正确 10.1.3 并发操作带来的四个问题 10.1.3 并发操作带来的四个问题 1. 丢失更新 10.1.3 并发操作带来的四个问题 2. 未提交读 10.1.3 并发操作带来的四个问题 3. 不可重复读 10.1.3 并发操作带来的四个问题 4. 幻象读 10.1.3 并发操作带来的四个问题 4. 幻象读 10.2 封锁 封锁 封锁协议 活锁和死锁 DB2隔离级别 10.2.1 封锁 10.2.1 封锁 锁相容矩阵 10.2.2 封锁协议 10.2.2 封锁协议 1. 一级封锁协议 10.2.2 封锁协议 例:一级封锁协议解决丢失更新问题 10.2.2 封锁协议 2. 二级封锁协议 10.2.2 封锁协议 例:二级封锁协议解决未提交读问题 10.2.2 封锁协议 3. 三级封锁协议 10.2.2 封锁协议 例:三级封锁协议解决不可重复读问题 10.2.2 封锁协议 不同级别的封锁协议 10.2.3 活锁和死锁 10.2.3 两阶段锁协议 10.2.3 两阶段锁协议 例,事务T1遵守两阶段锁协议,其封锁序列是: 10.3 DB2隔离级别 DB2通用数据库试图实现并行性的方法之一就是使用隔离级别,这种方法将决定如何在访问的事务中使用数据时锁定该数据或将其与其它事务隔离。 10.3 DB2隔离级别 1. 可重复读 10.3 DB2隔离级别 1. 可重复读 10.3 DB2隔离级别 2. 读稳定性 10.3 DB2隔离级别 2. 读稳定性 10.3 DB2隔离级别 3. 游标稳定性 10.3 DB2隔离级别 3. 游标稳定性 10.3 DB2隔离级别 4. 未提交读 10.3 DB2隔离级别 5. 隔离级别的选择 例:select * from student where ClsNo=‘0018’; 读稳定性(RS)隔离级锁定作为结果表中的那一部分行。 例:用户有一张包含1000行记录的表,查询结果返回10 行记录,则仅有10条记录被锁定。 使用读稳定性的应用程序不能读未提交的数据,但不能阻止通过插入操作在结果集中加入新行,即得到新增的幻象行。 例:select * from student where ClsNo=‘0018’; 游标稳定性(CS,或称光标稳定性)隔离级锁定工作单元工作期间光标所在的任何行。对该行的锁定将保持到取出下一行记录或整个工作单元终止。 例:再次引用扫描1000行的示例,如果使用游标稳定性, 将只锁定当前游标位置以下的行。当移离该行时, 也就除去了该锁(除非更新该行)。 使用游标稳定性的应用程序不能读未提交数据,应用程序读取的数据将保持一致性,但不可重复读或幻象读状况仍可能存在。 例:select * from student where ClsNo=‘0018’; 未提交读(UR)隔离级也称为“脏读”,是DB2数据库支持的最低级别的隔离级。不需要对任何行锁定。 可以用来存取其它应用程序的未提交的数据更新。 ⑴ 当用户在只读型表上使用查询,或者仅使用SELECT语句,而并不在意 是否从并发应用中获取了未提交数据时,则应使用未提交读隔离级。 ⑵ 当用户需要获得最大的并发度,同时又只想见到并发应用已提交的数 据时,则应使用游标稳定性隔离级。 ⑶ 当用户的应用程序在并发环境中操作时,则应使用读稳定性隔离级。 这意味着在整个工作单元工作期间,被限定的行需要保持稳定。 ⑷ 假如用户需要在同一事务中结果集不发生改变,则需要使用可重复读 隔离级。 System の連携による一貫した Status 管理と Monitoring 一貫管理による異常時 (= 納期遅延) への対応の迅速さのアピール 事故対応時の緊急対応 (Back up) ** CITI

文档评论(0)

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

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

1亿VIP精品文档

相关文档