第六章 并发控制

第一节 第二节 第三节 第四节 第五节 第六节

第一节 并发控制概述
    多事务执行方式
    (1)事务串行执行,每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行,不能充
分利用系统资源,发挥数据库共享资源的特点.
    (2)交叉并发方式(interleaved concurrency),事务的并行执行是这些并行事务的并行操作轮流交叉
运行,是单处理机系统中的并发方式,能够减少处理机的空闲时间,提高系统的效率.
    (3)同时并发方式(simultaneous concurrency),多处理机系统中,每个处理机可以运行一个事务,多
个处理机可以同时运行多个事务,实现多个事务真正的并行运行。最理想的并发方式,但受制于硬件环境,
更复杂的并发方式机制,事务并发执行带来的问题:可能会存取和存储不正确的数据,破坏事务的隔离性和
数据库的一致性。DBMS必须提供并发控制机制,并发控制机制是衡量一个DBMS性能的重要标志之一。
     并发控制机制的任务:对并发操作进行正确调度;保证事务的隔离性;保证数据库的一致性。
    数据不一致实例:飞机订票系统。
        
    T1的修改被T2覆盖了!
    丢失修改(lost update),丢失修改是指事务1与事务2从数据库中读入同一数据并修改。事务2的提交
结果破坏了事务1提交的结果,导致事务1的修改被丢失。
    不可重复读(non-repeatable read),不可重复读是指事务1读取数据后,事务2执行更新操作,使事
务1无法再现前一次读取结果。事务1读取某一数据后:
    1. 事务2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。
    2. 事务2删除了其中部分记录,当事务1再次读取数据时,发现某些记录神密地消失了。
    3. 事务2插入了一些记录,当事务1再次按相同条件读取数据时,发现多了一些记录。
后两种不可重复读有时也称为幻影现象(phantom row)
    读“脏”数据:事务1修改某一数据,并将其写回磁盘;事务2读取同一数据后, 事务1由于某种原因被
撤消,这时事务1已修改过的数据恢复原值;事务2读到的数据就与数据库中的数据不一致,是不正确的数据,
又称为“脏”数据。
    三种数据不一致性:
 

吉林大学网络教育学院 版权所有