- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第10章并发控制Chp.1516intextbook主讲人:余艳玮ywyu@ustc.edu.cn
Databasesprotection数据库保护:排除和防止各种对数据库的干扰破坏,确保数据安全可靠,以及在数据库遭到破坏后尽快地恢复数据库保护通过四个方面来实现数据库的恢复技术[Chp.17]Dealwithfailure并发控制技术[Chp.1516]Dealwithdatasharing完整性控制技术[notdiscuss]Enableconstraints安全性控制技术[notdiscuss]Authorizationandauthentication
ConcurrencyControlT1 T2… TnDB(consistencyconstraints)多个事务同时存取共享的数据库时,如何保证数据库的一致性?
主要内容并发操作与并发问题并发事务调度与可串性
(SchedulingandSerializability)锁与可串性实现(Locks)
一、并发操作和并发问题在多用户DBS中,如果多个用户同时对同一数据进行操作称为并发操作并发操作使多个事务之间可能产生相互干扰,破坏事务的隔离性(Isolation)DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的一致性,避免产生不正确的数据并发操作丢失更新脏读不一致分析并发操作通常会引起三类问题
1、丢失更新问题时间事务T1事务T2数据库中A的值110002Read(A,t)3Read(A,t)4t=t-1005t=t+1006Write(A,t)7Commit9008Write(A,t)9Commit1100
A=1000A:1000……事务T1事务T2缓冲区37A=9009A=11002A:10006A:9008A:1100基于延迟更新的事务执行示例数据库服务器客户机延迟更新:事务Commit后才将所有更新写入数据库
A=1000A:1000……事务T1事务T2缓冲区32A:1000基于立即更新的事务执行示例数据库服务器客户机立即更新:事务的每次更新操作立即将更新结果写入数据库6A:900A=9008A:1100A=1100
2、脏读问题时间事务T1事务T2数据库中A的值110002Read(A,t)3t=t-1004Write(A,t)5Read(A,t)6Rollbackt=t+1009007Write(A,t)8Commit1000脏数据:未提交并且随后又被撤销的数据称为脏数据
3、不一致分析问题时间事务T1事务T212Read(A,t)Read(B,t)3t=t-1004Read(A,v)5Write(A,t)6CommitSum=t+v7Commit不一致分析问题:事务读了过时的数据
4、问题如何解决?一种方法:让所有事务一个一个地串行执行一个事务在执行时其它事务只能等待不能充分利用系统资源,效率低下为了充分发挥DBMS共享数据的特点,应允许事务并发执行但必须保证事务并发执行的正确性必须用正确的方法调度执行事务的并发操作
二、调度(Schedule)单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。Write(B,t) Write(B,s)04t?t+100 s?s?2Read(B,t) Read(B,s)03单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。Write(A,t) Write(A,s)02t?t+100 s?s?2T1: Read(A,t) T2: Read(A,s)01单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。Constraint:A=B05Example
二、调度(Schedule)T1 T2 A BRead(A,t);t?t+100 25 25Write(A,t); 125 25Read(B,t);t?t+100;Write(B,t); 125 125Read(A,s);s?s?2;Write(A,s); 250 125Read(B,s);s?s?2;Write(B,s); 250 250ScheduleA
二、调度(Schedule)0102T1 T2 A BRead(A,s);s?s?2; 25 25Write(A,s); 50 25Read(B,s);s?s?2;Write(B,s); 50 50Read(A,t);t?t+100Wri
文档评论(0)