网站大量收购独家精品文档,联系QQ:2885784924

8.1并发控制.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.1并发控制.ppt

8.1 并发控制 ; 并发操作有两个明显的好处: 1. 提高系统的资源利用率 一个事务在不同的执行阶段需要的资源是不同的,有时需要CPU,有时需要通信,有时需要输入设备,……。 如果事务只能串行操作,则会造成资源的极大空闲。 事务并发执行, 则可交叉使用各种资源,可以明显的提高系统资源的利用率。 ; 2. 改善短事务的响应时间 有两个事务T1和T2,T1的执行时间很长,T2所需的时间很短。 在串行执行的情况下,若T1比T2稍早执行,则T2要等待很长的时间才能得到响应。 短事务响应时间过长是不应该的。而在并发情况下,T2可与T1并发执行,响应时间可明显缩短。 ; 8.1.1 并发可能出现的问题 并发操作如果不加控制,可能引起数据的不一致性: 丢失更新、 读脏数据和不可重复读。 一、 丢失更新(lost update) 图 8 ― 1(a)给??了两个事务T1和T2恰好都执行修改同一数据的过程。 ① T1首先读入数据A(准备修改); ② T2接着也读入数据A(与T1读入的值相同); ;图 8 ― 1 并发可引起数据的三类不一致性 (a) 丢失修改; (b) 读脏数据; (c) 不可重复读; ③ T1把A值加100后写回数据库,T1提交; ④ T2也把A值加100后写回数据库,T2提交; A值明明加了两个100,但数据库中A值却只比原来多100!如果A值是某账号的存款余额,T1和T2是两个客户在不同地点向该账号付款的两个不同事务,后果的严重性就显而易见了。 ; 二、 读脏数据(Dirty Read) 图 8 ― 1(b)给出了两个事务T1和T2的执行过程。 ① T1读入数据B,增加100后写回数据库; ② T2读入数据B; ③ T1由于某原因而被撤销(RollBack),即数据B已恢复原值。 此时,T2所读到的B值已不是数据库中B的值。 这种不一致性就是读脏数据的结果。 ; 三、 不可重复读(Non―Repeatable Read) 图 8 ― 1(c)中: ① T1读入C值; ② T2读入C值,修改后,又写回数据库,T2提交; ③ T1再次读入C值。 但T1发现此时读入的C值却与前面读入的C值不同。 这就是不可重复读的含义。 上述现象的产生,其原因在于一个事务未执行完时,就开始执行另一个事务了。 如果一个事务在修改数据时,其他事务不得修改同一数据,就不会产生丢失更新的情况; ; 如果一个事务在更新数据时,其他事务不得读取该数据,则不会产生读脏数据的情况,也不会产生不可重复读的情况,这就是封锁(Locking)的目的。 当然,在有些情况下,数据库应用时出现一些不一致也是允许的,例如读脏数据、 不可重复读等,在这种情况下,对封锁的要求就可弱一些,从而增强系统并发的程度,降低系统的开销。 ; 8.1.2 封锁(Locking) 封锁是普遍采用的一种并发控制手段,封锁可避免并发操作可能出现的问题。 所谓封锁就是某事务在对某对象(表、 记录等)执行操作前,先对此对象加上自己的锁。 加锁后,其他事务对此对象的操作就受到了规定的限制。 当然,该事务完成自己的操作之后,必须把加上的锁撤销,以使其他事务可执行各种操作。 ; 如果只有一种锁,锁上后其他事务不能对该对象执行任何操作,那就失去了并发的意义。因此,锁的基本类型有两种: 排它锁和共享锁。 一、 排它锁(Exclusive Lock,简称X锁、 写锁) 一个事务对某数据对象成功的加了X锁后,其他事务就不能对此对象加锁,也就不能对此对象执行任何操作,只有该事务才可对此对象执行读和修改的操作。 可见,只有数据对象未被任何其他事务加锁时,对它的X锁请求才会成功,否则将失败。 ; 二、 共享锁(Share Lock,简称S锁、 读锁) 一个事务对某数据对象成功地加了S锁后,其他事务不能对该对象加上X锁,但可以再加上自己的S锁。 即,若某

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档