1 / 76
文档名称:

数据库系统概论14.ppt

格式:ppt   页数:76
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库系统概论14.ppt

上传人:rovend 2016/7/28 文件大小:0 KB

下载得到文件列表

数据库系统概论14.ppt

相关文档

文档介绍

文档介绍:数据库原理及应用 An Introduction to Database System 第十一章并发控制 1问题的产生?多用户数据库系统的存在允许多个用户同时使用的数据库系统?飞机定票数据库系统?银行数据库系统特点:在同一时刻并发运行的事务数可达数百个 2问题的产生(续) ?不同的多事务执行方式(1) 事务串行执行(2) 交叉并发方式(3) 同时并发方式(多处理机) T1 T2 T3 事务的串行执行方式事务的交叉并发执行方式 3问题的产生(续) ?事务并发执行带来的问题?会产生多个事务同时存取同一数据的情况?可能会存取和存储不正确的数据,破坏事务一致性和数据库的一致性 4 T1 的修改被 T2 覆盖了! 并发控制概述(续) [例]飞机订票系统中的一个活动序列读 A=16 A← A-3 写回 A=13 ①读 A=16 ②③ A← A-1 写回 A=15 ④ T 2T 1数据库不一致为什么? 丢失修改 5并发执行可能产生的问题?并发操作带来的数据不一致性?丢失修改( Lost Update ) ?不可重复读( Non-repeatable Read ) ?读“脏”数据( Dirty Read ) ?记号? R(x): 读数据 x ? W(x): 写数据 x 6不可重复读? T1 读取 B=100 进行运算? T2 读取同一数据 B,对其进行修改后将 B=200 写回数据库。? T1 为了对读取值校对重读 B,B已为 200 ,与第一次读取值不一致 T 1T 2① R(A)=50 R(B)=100 求和=150 ② R(B)=100 B←B*2 (B)=200 ③ R(A)=50 R(B)=200 和=250 (验算不对) 不可重复读例如: 7不可重复读的三种情况?事务 T 1读取某一数据后, 事务 T 2对其做了修改,当事务 T 1再次读该数据时,得到与前一次不同的值?事务 T1 按一定条件从数据库中读取了某些数据记录后, 事务 T2 删除了其中部分记录,当 T1 再次按相同条件读取数据时,发现某些记录消失了?事务 T1 按一定条件从数据库中读取某些数据记录后, 事务 T2 插入了一些记录,当 T1 再次按相同条件读取数据时,发现多了一些记录。幻影现象幻影现象 8读“脏”数据 T 1T 2① R(C)=100 C ←C*2 W(C)=200 ② R(C)=200 ③ ROLLBACK C 恢复为 100 例如读“脏”数据? T1 将C值修改为 200 , T2 读到 C为200 ? T1 由于某种原因撤销,其修改作废, C 恢复原值 100 ?这时 T2 读到的 C为 200 ,与数据库内容不一致,就是“脏”数据 9并发执行可能产生的问题?数据不一致性:由于并发操作破坏了事务的隔离性?并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性 10