- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 数据库系统原理 Principles of Database System 第十一章 并发控制 第十一章 并发控制 ? 要 求 准确理解数据不一致性的原因、活锁和死锁的产生原因和预防,掌握三级封锁协议、两段锁协议、并发事务正确性准则、不同封锁类型的相容准则。 ? 重 点 死锁的原因和预防;三级封锁协议;两段锁协议;并发控制的可串行性;不同封锁类型的相容准则。 ? 难 点 并发控制的可串行性;不同封锁类型的相容准则。 第十一章 并发控制 问题的产生 多用户数据库系统的存在 允许多个用户同时使用的数据库系统 飞机定票数据库系统 银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个 第十一章 并发控制 并发控制:不同的多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资源的特点 第十一章 并发控制 (2)交叉并发方式(Interleaved Concurrency) 事务的并行执行是这些并行事务的并行操作轮流交叉运行 是单处理机系统中的并发方式,能够减少CPU的空闲时间,提高系统的效率 第十一章 并发控制 (2)交叉并发方式 第十一章 并发控制 (3)同时并发方式(Simultaneous Concurrency) 多处理机系统中,每个CPU可以运行一个事务,多个CPU可以同时运行多个事务,实现多个事务真正的并行运行 最理想的并发方式,但受制于硬件环境 更复杂的并发方式机制 事务并发执行带来的问题 会产生多个事务同时存取同一数据的情况 可能会存取和存储不正确的数据,破坏事务的隔离性和数据库的一致性 DBMS必须提供并发控制机制 并发控制机制是衡量一个DBMS性能的重要标志之一 第十一章 并发控制 11.1 并发控制概述 11.2 封锁 11.3 封锁协议 11.4 活锁和死锁 11.5 并发调度的可串行性 11.6 两段锁协议 11.7 封锁的粒度 11.8 小结 11.1 并发控制概述 并发控制机制的任务 对并发操作进行正确调度 保证事务的隔离性 保证数据库的一致性 并发操作带来的数据不一致问题 例:飞机订票系统 T1的修改被T2覆盖了! 并发操作带来的数据不一致性 这种情况称为数据库的不一致性,是由并发操作引起的。 在并发操作情况下,对T1、T2两个事务的操作序列的调度是随机的。 若按上面的调度序列执行,T1的修改就被丢失。 原因:第4步中T2修改A并写回后覆盖了T1的修改 并发操作带来的数据不一致性 丢失修改(lost update) 不可重复读(non-repeatable read) 读“脏”数据(dirty read) 1. 丢失修改 事务1与事务2从数据库中读入同一数据并修改,事务2的提交结果破坏了事务1提交的结果,导致事务1的修改被丢失 上面飞机订票例子就属此类 2. 不可重复读 事务T1读取数据后,事务T2执行更新操作,使事务T1无法再现前一次读取结果。 2. 不可重复读 三种不可重复读 事务T1读取某一数据后: 1、事务T2对其做了修改,当事务T1再次读该数据时,得到与前一次不同的值。 2、事务T2删除了其中部分记录,当事务T1再次读取数据时,发现某些记录神密地消失了。 3、事务T2插入了一些记录,当事务T1再次按相同条件读取数据时,发现多了一些记录。 后两种不可重复读有时也称为幻影现象(phantom row) 3. 读“脏”数据 事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,事务T1由于某种原因被撤消,这时事务T1已修改过的数据恢复原值,事务T2读到的数据就与数据库中的数据不一致,是不正确的数据,又称为“脏”数据。 并发操作带来的数据不一致性 产生上述三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。 并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免造成数据的不一致性。 并发控制的主要技术是封锁(Locking)。 11.2 封锁 一、什么是封锁 二、基本封锁类型 三、基本锁的相容矩阵 一、什么是封锁 封锁:就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁 加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象 加锁是实现并发控制的一个非常重要的技术 二、基本封锁类型 DBMS通常提供了多种类型的封锁。 一个事务对某个数据对象加锁后究竟拥有什么样的控制是由封锁的类型决定的。 基本封锁类型 排它锁(eXclusive lock,简记为
您可能关注的文档
- 第1讲 人机工程学概述.ppt
- 第二章 化学键和分子结构-1(结构与悟性).ppt
- 第二章 Google云计算原理与应用(3).ppt
- 幽门螺杆菌的基础与临床(2011-4-29).ppt
- 招行外汇讲座070620.ppt
- 第五讲控制系统的仿真软件介绍2.ppt
- 热力发电厂(冉景煜版)课件-第1章.ppt
- 信达大厦二楼投资可行性报告-20091023-梁勍.ppt
- 食品营养素强化、标示和标准.ppt
- 更新版店面5S管理.ppt
- 四年级数学(小数加减运算)计算题专项练习与答案.docx
- 三年级数学计算题专项练习及答案集锦.docx
- 2025年北京市北京市朝阳区机关车辆服务中心招聘考前自测高频考点模拟试题及答案详解1套.docx
- 2025年台湾省台中市台中市审计局招聘考前自测高频考点模拟试题附答案详解.docx
- 2025年四川省成都市金堂县审计局招聘考前自测高频考点模拟试题及答案详解1套.docx
- 2025年吉林省吉林市磐石市自然资源局招聘考前自测高频考点模拟试题及答案详解1套.docx
- 2025年四川省凉山州普格县文体广电局招聘考前自测高频考点模拟试题含答案详解.docx
- 2025年北京市北京市崇文区文化服务中心招考工作人员考前自测高频考点模拟试题及答案详解1套.docx
- 2025年吉林省长春市双阳区文体广电局招聘考前自测高频考点模拟试题附答案详解.docx
- 2025年四川省乐山市井研县派出所招聘协(辅)警6人考前自测高频考点模拟试题附答案详解.docx
最近下载
- 热分布报告样本.pdf
- 2025年一建一级建造师建筑实务案例分析考点重点知识总结高分笔记.pdf VIP
- 手足口病的诊断与治疗课件.ppt VIP
- 会计法律法规答题答案.doc VIP
- 我国商业银行开展绿色信贷业务存在的问题和对策.docx VIP
- 医院消防安全除患整治攻坚行动工作总结8篇.docx VIP
- 《桃花源记》比较阅读85篇(历年中考语文文言文阅读试题汇编)(含答案与翻译)(截至2020年).doc
- 2025年北京东城区高三一模高考英语试卷试题(含答案详解).docx
- 2024潍坊护理职业学院招聘笔试真题及参考答案详解一套.docx VIP
- 年产300吨2-乙酰呋喃分离工段的工艺设计.docx
文档评论(0)