- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理 主讲:赵海霞 第十一章 并发控制 并发控制概述 封锁 封锁协议 活锁和死锁 并发调度的可串行性 两段锁协议 封锁的粒度 问题的产生 多用户数据库系统的存在 允许多个用户同时使用的数据库系统 飞机定票数据库系统 银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个 示例 示例(续) 这种情况称为数据库的不一致性,是由并发操作引起的。 在并发操作情况下,对甲、乙两个事务的操作序列的调度是随机的。 若按上面的调度序列执行,甲事务的修改就被丢失。 原因:第4步中乙事务修改A并写回后覆盖了甲事务的修改 事务并发操作带来的问题 并发操作引起的数据不一致性包括三类 丢失修改 不可重复读 读脏数据 事务并发带来的丢失修改 A、丢失修改问题 两个事务T1和T2读入同一数据并修改,T2的提交结果破坏了T1提交的结果,导致T1的修改被丢失。 上面飞机订票例子就属此类 并发操作引起的不可重复读 B、不可重复读 不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。 并发操作引起的不可重复读 B、不可重复读 不可重复读包括三种情况: (1)事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时,得到与前一次不同的值 并发操作引起的不可重复读 (2)事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录消失了 (3)事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。 后两种不可重复读有时也称为幻影现象(Phantom Row) 事务并发带来的读脏数据 C、读“脏”数据 读“脏”数据是指: 事务T1修改某一数据,并将其写回磁盘 事务T2读取同一数据后,T1由于某种原因被撤销 这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致 T2读到的数据就为“脏”数据,即不正确的数据 小结 产生上述三类不一致性的主要原因 并发操作破坏了事务的隔离性,事务间相互干扰 三种主要解决技术 封锁技术 (Locking) ★ 时间戳技术(Timestamp) 乐观控制法 商用的DBMS一般都采用封锁方法 11.2 封锁 概念 事务T在对某个数据对象(如数据库、表、记录等)操作之前,首先向系统发出加锁请求以便获得对数据对象相应的控制 在事务T释放它所获得的锁之前,其他事务不能更新此数据对象 锁的类型 一个事务对某个数据对象加锁后究竟拥有什么样的控制由封锁的类型决定。 排它锁(eXclusive lock):写锁 若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁 保证其他事务在T释放A上的锁之前不能再读取和修改A 共享锁(Share lock):读锁 若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁 保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改 锁的相容矩阵 Y:相容的请求 N:不相容的请求 11.3 活锁和死锁问题 封锁技术可以有效地解决并行操作的一致性问题,但也带来一些新的问题 死锁 活锁 活锁问题 活锁 举例说明: 事务T1封锁某数据后,事务T2请求封锁未获得并等待,而T1释放锁后,事务T3请求封锁并获得,T3释放锁后,事务T4请求封锁并获得……T2可能永远等待 解决办法:采用先来先服务的策略 死锁问题 死锁 举例说明: 事务T1和T2各自封锁了数据R1和R2后,又各自请求封锁R2和R1,因都无法获得而等待对方释放的现象 解决的两类方法 预防死锁 允许发生死锁,采用一定手段定期诊断并解除死锁 死锁的预防 一次封锁法 办法:每个事务一次将所有要使用的数据全部加锁 存在问题?降低系统并发度;难于事先精确确定封锁对象 顺序封锁法 办法:预先规定数据对象的封锁顺序,所有事务均按此顺序 存在问题?维护成本:数据库系统中封锁的数据对象极多,并且在不断地变化;难以实现:很难事先确定每一个事务要封锁哪些对象 死锁的诊断与解决 死锁的诊断 超时法 办法:等待时间超过规定的时限 问题? 等待图法 办法:画等待图,发现回路 死锁的解决 检测到死锁,选择一个处理死锁代价最小的事务,强行撤销,使其它事务可以继续下去 恢复撤销事务所执行的数据修改操作 11.4 事务调度的可串行性 引言 DBMS对并发事务不同的调度可能会产生不同的结果 什么样的调度是正确的? 概念 可串行化的调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同 可串行性
您可能关注的文档
- 数据分布特征的描述 (2).ppt
- 数据分析、过程、质量信息.ppt
- 数据分析与图表呈现的原则、方法与样式.ppt
- 数据分析-第一章.ppt
- 数据分析—大数据.ppt
- 数据分析初步探讨.ppt
- 数据分析和绘图软件.ppt
- 数据分析基本原理介绍(基于excel).ppt
- 数据分析建模方法.ppt
- 数据分析师十大技能.ppt
- 2025年跨境物流网络布局下的物流信息化建设分析报告.docx
- 食品加工过程2025年节能减排技术改造与能源管理报告.docx
- 2025年中国隔音板压型机数据监测报告.docx
- 2024年河南省信阳市罗山县彭新镇招聘社区工作者真题及答案详解1套.docx
- 新能源汽车充电桩投资策略:2025年区域市场潜力与竞争格局报告.docx
- 2025年乡村民俗文化旅游IP与乡村生态旅游联动研究.docx
- 基于2025年公园改造的社会稳定风险评估与社区安全体系建设报告.docx
- 2025年中国毛围巾数据监测报告.docx
- 国际教育交流项目2025年学生跨文化交际技能培养现状报告.docx
- 2025年快消品行业库存管理最佳实践研究报告.docx
最近下载
- 小学奥数教师版(合辑)1-1-2-3 分数四则混合运算综合.pdf VIP
- 小学奥数合辑(学生用书)1-1-2-3 分数四则混合运算综合.pdf VIP
- 心电监护操作流程课件(PPT 34张).pptx VIP
- 高考数学三年真题(2023-2025年)《统计与概率》真题分类汇编含答案.docx VIP
- 高斯小学奥数五年级上册含答案_分数应用题.doc VIP
- 药食同源发酵项目可行性研究报告建议书新建申请备案案例范文解读.doc VIP
- 2024年广东省高考政治试卷(真题+答案).pdf VIP
- 小学数学 奥数思维《计算:小数的巧算》专项训练2(含解析).docx VIP
- 智慧城市排水防涝系统改造与优化创新研究.docx VIP
- 核心稳定性与核心力量训练.ppt
文档评论(0)