欢迎来到天天文库
浏览记录
ID:58780069
大小:901.50 KB
页数:76页
时间:2020-10-03
《数据库系统概论九ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章并发控制11.1问题的产生11.2事务的并发执行可能产生的不一致性★11.3串行化调度★11.4并发控制机制★11.5SQLServer的加锁机制(自学)7/31/20211第十一章并发控制11.1问题的产生多用户数据库系统的存在允许多个用户同时使用的数据库系统飞机定票数据库系统银行数据库系统特点:在同一时刻并发运行的事务数可达数百个7/31/20212第十一章并发控制事务串行执行每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行。不能充分利用系统资源,发挥数据库共享资源的特点。T1T
2、2T37/31/20213第十一章并发控制事务交叉并发方式在单处理机系统中,事务的并行执行是这些并行事务的并行操作轮流交叉运行。单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理机的空闲时间,提高系统的效率。7/31/20214第十一章并发控制事务同时并发方式多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行。7/31/20215第十一章并发控制问题的产生事务并发执行带来的问题会产生多个事务同时存取同一数据的情况可能会存取和存储不正确的数据,破坏事
3、务一致性和数据库的一致性7/31/20216第十一章并发控制11.2事务的并发执行可能产生的不一致性T1T2T1T2T1T2①读A=50①读C=100①读A=16读B=100执行C=C*2②读A=16求和=150写回C=200③执行A=A-1②读B=100②读C=200写回A=15执行B=B*2③撤销…提交写回B=200C恢复为100④执行A=A-1③读A=50写回A=15读B=200求和=250(验算不对)不可重复读读“脏”数据丢失修改7/31/20217第十一章并发控制产生的不一致性的根本原因操作冲突如果
4、两个事务发生的两个操作都针对于同一数据项,只要其中有一个是写操作,则这两个操作是冲突的。7/31/20218第十一章并发控制11.3串行化调度11.3.1调度11.3.2可串行化调度7/31/20219第十一章并发控制11.3.1调度调度:安排多个事务中的操作的执行次序。设有事务,T1:R1(x)W1(y)T2:R2(x)W2(x)T3:R3(y)W3(y)串行调度:并发调度:Ri(x)表示事务Ti对数据项x进行读操作;Wi(x)表示事务Ti对数据项x进行写操作;S1:R1(x)W1(y)R2(x)W2(x)
5、R3(y)W3(y)S2:R2(x)R1(x)W1(y)R3(y)W2(x)W3(y)7/31/202110第十一章并发控制T1:read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).T2:read(A);temp:=A*0.1;A:=A-temp;write(A);read(B);B:=B+temp;write(B).T1:从账户A过户¥50到账户BT2:从账户A过户10%的存款余额到账户B执行前A:¥1000,B:¥20007/31/202111第十一章并发控
6、制read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).read(A);temp:=A*0.1;A:=A-temp;write(A);read(B);B:=B+temp;write(B).T1T2调度S1调度S1:串行调度,T2跟在T1之后执行后:A:¥855,B:21457/31/202112第十一章并发控制read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).read(A);temp:=A*0.1;A:=A-tem
7、p;write(A);read(B);B:=B+temp;write(B).T1T2调度S2调度S2:串行调度,T1跟在T2之后执行后:A:¥850,B:21507/31/202113第十一章并发控制read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).read(A);temp:=A*0.1;A:=A-temp;write(A);read(B);B:=B+temp;write(B).T1T2调度S3调度S3:并行调度,等价于调度1执行后:A:¥855,B:2145
8、7/31/202114第十一章并发控制read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).read(A);temp:=A*0.1;A:=A-temp;write(A);read(B);B:=B+temp;write(B).T1T2调度S4调度S4:并行调度,不等价于调度1执行后:A:¥950,B:21007/31/202115第十一章并发控制11.3.
此文档下载收益归作者所有