(续)并发控制必事务并发执行带来的问题会产生多个事务同时存取同一数据的情况可能会存取和存储不正确的数据,破坏事务隔离性和数据库的一致性必数据库管理系统必须提供并发控制机制心并发控制机制是衡量一个数据库管理系统性能的重要标志之一AnIntroductiontoDatabaseSystem
An Introduction to Database System 并发控制(续) ❖事务并发执行带来的问题 ◼ 会产生多个事务同时存取同一数据的情况 ◼ 可能会存取和存储不正确的数据,破坏事务隔离性和 数据库的一致性 ❖数据库管理系统必须提供并发控制机制 ❖并发控制机制是衡量一个数据库管理系统性能的 重要标志之一
第十一章并发控制11.1并发控制概述人民大学11.2封锁11.3封锁协议11.4活锁和死锁车系统概论11.5并发调度的可串行性11.6两段锁协议11.7封锁的粒度*11.8其他并发控制机制11.9小结AnIntroductiontoDatabaseSystem
An Introduction to Database System 第十一章 并发控制 11.1 并发控制概述 11.2 封锁 11.3 封锁协议 11.4 活锁和死锁 11.5 并发调度的可串行性 11.6 两段锁协议 11.7 封锁的粒度 *11.8 其他并发控制机制 11.9 小结
11.1并发控制概述心事务是并发控制的基本单位并发控制机制的任务1对并发操作进行正确调度效据库系统概论保证事务的隔离性保证数据库的一致性AnIntroductiontoDatabaseSystem
An Introduction to Database System 11.1 并发控制概述 ❖事务是并发控制的基本单位 ❖并发控制机制的任务 ◼ 对并发操作进行正确调度 ◼ 保证事务的隔离性 ◼ 保证数据库的一致性
(续)并发控制概述并发操作带来数据的不一致性实例【例11.1]飞机订票系统中的一个活动序列①甲售票点(事务T)读出某航班的机票余额A,设A=16:②乙售票点(事务T)读出同一航班的机票余额A,也为16:③甲售票点卖出一张机票,修改余额A一A-1,所以A为15把A写回数据库:④乙售票点也卖出一张机票,修改余额A一A-1,所以A为15把A写回数据库结果明明卖出两张机票,数据库中机票余额只减少1An Introduction to Database System
An Introduction to Database System T1的修改被T2覆盖了! 并发控制概述(续) 并发操作带来数据的不一致性实例 [例11.1]飞机订票系统中的一个活动序列 ① 甲售票点(事务T1 )读出某航班的机票余额A,设A=16; ② 乙售票点(事务T2 )读出同一航班的机票余额A,也为16; ③ 甲售票点卖出一张机票,修改余额A←A-1,所以A为15, 把A写回数据库; ④ 乙售票点也卖出一张机票,修改余额A←A-1,所以A为15, 把A写回数据库 ◼ 结果明明卖出两张机票,数据库中机票余额只减少1
(续)并发控制概述心这种情况称为数据库的不一致性,是由并发操作引起的。在并发操作情况下,对T、T,两个事务的操作序列的调度是随机的。心若按上面的调度序列执行,T事务的修改就被丢失原因:第4步中T,事务修改A并写回后覆盖了T,事务的修改--AnIntroductiontoDatabaseSystem
An Introduction to Database System 并发控制概述(续) ❖ 这种情况称为数据库的不一致性,是由并发操作引起的。 ❖ 在并发操作情况下,对T1、T2两个事务的操作序列的调度 是随机的。 ❖ 若按上面的调度序列执行,T1事务的修改就被丢失。 ◼ 原因:第4步中T2事务修改A并写回后覆盖了T1事务的 修改