- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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锁。 即,若某
您可能关注的文档
- 2016_05_11-发言稿汇整-长照记者会1830-竞争力论坛.doc
- 2016_智慧电子应用设计竞赛_创意发想组_作品说明书.doc
- 2016四川省中小学电脑制作活动指南.doc.doc
- 2016届第一期选修课课程简介-云南师大附中.doc
- 2016年中小学电脑制作活动评选类项目指南.doc.doc
- 2016年公需科目操作流程.ppt.ppt
- 2016年天津市二级运动员认证标准-跆拳道.doc
- 2016年最后一天对学生的几句话.ppt.ppt
- 2016年福建省跨学科四门主干课程作业中学英语.doc-福建教育学院.doc
- 2016年第十七届全国中小学电脑制作活动作品参考网址-顺德教育信息网.ppt
- 苏教版8年级上册数学全册教学课件(2021年10月修订).pptx
- 比师大版数学4年级下册全册教学课件.pptx
- 冀教版5年级上册数学全册教学课件.pptx
- 办公室普通党员2024年组织生活会个人对照检查发言材料供参考.docx
- 领导班子成员2025年组织生活会“四个带头”对照检查材料范文.docx
- 2024年度专题组织生活会个人“四个带头”对照检查材料范文.docx
- 党支部领导班子2025年民主生活会“四个带头”个人对照检查材料范文.docx
- 2024年抓基层党建工作述职报告参考范文.docx
- 2024年度民主生活会征求意见情况的报告范文2篇.docx
- 普通党员2024年组织生活会个人“四个带头”对照检查发言材料2篇.docx
最近下载
- 2024年郑州澍青医学高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 悬泉汉简研究.pdf
- 道德与法治五年级下册3课《弘扬优秀家风》第1课时《探寻优秀家风》课件.ppt
- 猫病毒性鼻气管炎治疗性药物研究进展.docx
- 【试题+解析】2021-2022深圳中学七年级(下)期中试卷.pdf VIP
- 2024年浙江省公务员录用考试《行测》题(A类)(含答案).pdf VIP
- 肝囊肿硬化治疗.pptx
- GESP2023年6月认证C++四级真题.pdf
- 【完整版】3D创新打印服务项目开发及应用项目商业计划书.docx
- 2023年长沙学院计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
文档评论(0)