数据库系统及应用

数据库系统及应用

ID:43517650

大小:367.00 KB

页数:77页

时间:2019-10-09

数据库系统及应用_第1页
数据库系统及应用_第2页
数据库系统及应用_第3页
数据库系统及应用_第4页
数据库系统及应用_第5页
资源描述:

《数据库系统及应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第10章并发控制Chp.15&16intextbook主讲人:余艳玮ywyu@ustc.edu.cnDatabasesprotection数据库保护:排除和防止各种对数据库的干扰破坏,确保数据安全可靠,以及在数据库遭到破坏后尽快地恢复数据库保护通过四个方面来实现数据库的恢复技术[Chp.17]Dealwithfailure并发控制技术[Chp.15&16]Dealwithdatasharing完整性控制技术[notdiscuss]Enableconstraints安全性控制技术[notdiscuss]AuthorizationandauthenticationConcurrencyContro

2、lDB(consistencyconstraints)T1T2…Tn多个事务同时存取共享的数据库时,如何保证数据库的一致性?主要内容并发操作与并发问题并发事务调度与可串性(SchedulingandSerializability)锁与可串性实现(Locks)一、并发操作和并发问题并发操作在多用户DBS中,如果多个用户同时对同一数据进行操作称为并发操作并发操作使多个事务之间可能产生相互干扰,破坏事务的隔离性(Isolation)DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的一致性,避免产生不正确的数据并发操作通常会引起三类问题丢失更新脏读不一致分析1、丢失更新问题时间事务T1事务T

3、2数据库中A的值110002Read(A,t)3Read(A,t)4t=t-1005t=t+1006Write(A,t)7Commit9008Write(A,t)9Commit1100A=1000A:1000……事务T1事务T2缓冲区37A=9009A=11002A:10006A:9008A:1100基于延迟更新的事务执行示例数据库服务器客户机延迟更新:事务Commit后才将所有更新写入数据库A=1000A:1000……事务T1事务T2缓冲区32A:1000基于立即更新的事务执行示例数据库服务器客户机立即更新:事务的每次更新操作立即将更新结果写入数据库6A:900A=9008A:1100A=1

4、1002、脏读问题时间事务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、问题如何解决?一种方法:让所有事务一个一个地串行执行一个事务在执行时其它事务只能等待不能充分利用系统资源,效率低下为

5、了充分发挥DBMS共享数据的特点,应允许事务并发执行但必须保证事务并发执行的正确性必须用正确的方法调度执行事务的并发操作二、调度(Schedule)T1:Read(A,t)T2:Read(A,s)tt+100ss2Write(A,t)Write(A,s)Read(B,t)Read(B,s)tt+100ss2Write(B,t)Write(B,s)Constraint:A=BExample二、调度(Schedule)T1T2ABRead(A,t);tt+1002525Write(A,t);12525Read(B,t);tt+100;Write(B,t);125125Read(A,

6、s);ss2;Write(A,s);250125Read(B,s);ss2;Write(B,s);250250ScheduleA二、调度(Schedule)T1T2ABRead(A,s);ss2;2525Write(A,s);5025Read(B,s);ss2;Write(B,s);5050Read(A,t);tt+100Write(A,t);15050Read(B,t);tt+100;Write(B,t);150150ScheduleB二、调度(Schedule)T1T2ABRead(A,t);tt+1002525Write(A,t);12525Read(A,s);s

7、s2;Write(A,s);25025Read(B,t);tt+100;Write(B,t);250125Read(B,s);ss2;Write(B,s);250250ScheduleC二、调度(Schedule)T1T2ABRead(A,t);tt+1002525Write(A,t);12525Read(A,s);ss2;Write(A,s);25025Read(B,s);ss

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。