第八章并发控制 本章内容提要 保证数据一致性是对数据库的最基本的要求。薮据库 的重要特征是它能为多个用户提供数据共享。因此 DBMS必须提供并发控制杋制來保证数据库的一致性。 数据库的并发控制以事务为单位,通常使用封锁技 术实现并发控制。 ·本章介绍两类最常用的封锁和三级封锁协议。不同 的封锁和不同级别的封锁协议所提供的系统一致性保证 是不同的,提供数据共享度也是不同的。 对数据对象施加封锁,会带来活锁和死锁冋题,并 发控制杋制必须提供适合数据库特点的解决方法
本章内容提要 • 保证数据一致性是对数据库的最基本的要求。数据库 的重要特征是它能为多个用户提供数据共享。因此, DBMS必须提供并发控制机制来保证数据库的一致性。 • 数据库的并发控制以事务为单位,通常使用封锁技 术实现并发控制。 • 本章介绍两类最常用的封锁和三级封锁协议。不同 的封锁和不同级别的封锁协议所提供的系统一致性保证 是不同的,提供数据共享度也是不同的。 • 对数据对象施加封锁,会带来活锁和死锁问题,并 发控制机制必须提供适合数据库特点的解决方法。 第八章 并发控制
第八章并发控制 本章量点 数据库并发控制的基本原理与技术 封锁协议 两段锁协议 本章难痕: 封锁协议 两段锁协议
本章重点: 数据库并发控制的基本原理与技术 封锁协议 两段锁协议 本章难点: 封锁协议 两段锁协议 第八章 并发控制
第八章并发控制 ·数据库是一个共享资源,可以供多个用户使用。允许 多个用户同时使用的数据库系统称为多用户数据库系 统 为了充分利用系统资源,发挥数据库共享资源的特点, 应该允许多个事务并行的执行。 当多个用户并发地存取数据库时就会产生多个事务同 时存取同一数据的情况。若对并发操作不加控制就可 能会存取和存储不正确的数据,破坏数据库的一致性 所以DBMS必须提供并发控制机制。 ·并发控制机制是衡量一个数据库管理系统性能的重要 标志之一
• 数据库是一个共享资源,可以供多个用户使用。允许 多个用户同时使用的数据库系统称为多用户数据库系 统。 • 为了充分利用系统资源,发挥数据库共享资源的特点, 应该允许多个事务并行的执行。 • 当多个用户并发地存取数据库时就会产生多个事务同 时存取同一数据的情况。若对并发操作不加控制就可 能会存取和存储不正确的数据,破坏数据库的一致性。 所以DBMS必须提供并发控制机制。 • 并发控制机制是衡量一个数据库管理系统性能的重要 标志之一。 第八章 并发控制
第八章并发控制 8并控制概迷 ·例:考虑飞机订票系统中的一个活动序列 λ甲售票点(甲事务)读出某航班的机票余额设A76 2乙售票点(乙事务)读出同一航班的机票余额也为 76 3甲售票点卖出一张机票修改余额4A所以A为1把H 写回数据库 f乙售票点也卖出一张机票修改余额←A所以为5 把泻回数据库 结果明明卖出两张机票,数据库中机票余额只减少〃
• 例1:考虑飞机订票系统中的一个活动序列: 1.甲售票点(甲事务)读出某航班的机票余额A,设A=16. 2.乙售票点(乙事务)读出同一航班的机票余额A,也为 16. 3.甲售票点卖出一张机票,修改余额A←A-1.所以A为15,把A 写回数据库. 4.乙售票点也卖出一张机票,修改余额A←A-1.所以A为15, 把A写回数据库. 结果明明卖出两张机票,数据库中机票余额只减少1 。 第八章 并发控制 8.1 并发控制概述
第八章并发控制 8并发控制概迷 ·并发操作带来的数据不一致性包括三类: (A)丢失修改(atha) (b)不可重复读(mhan (a)读“脏”数据(a乡~ah)
• 并发操作带来的数据不一致性包括三类: (A)丢失修改(lost update) (B)不可重复读(non-repeatable read) (C)读“脏”数据(dirty read) 第八章 并发控制 8.1 并发控制概述