辜务并发执行带来的问题 可能会存取和存储不正确的数据,破坏 事务的隔离性和数据库的一致性 DBMS必须提供并发控制机制 ■并发控制机制是衡量一个DBMS性能的 重要标志之一
事务并发执行带来的问题 事务并发执行带来的问题 可能会存取和存储不正确的数据,破坏 可能会存取和存储不正确的数据,破坏 事务的隔离性和数据库的一致性 事务的隔离性和数据库的一致性 DBMS必须提供并发控制机制 必须提供并发控制机制 并发控制机制是衡量一个 并发控制机制是衡量一个DBMS性能的 重要标志之一
并发控制概述 并发控制机制的任务 对并发操作进行正确调度 保证事务的隔离性 保证数据库的一致性
并发控制概述 并发控制机制的任务 并发控制机制的任务 对并发操作进行正确调度 对并发操作进行正确调度 保证事务的隔离性 保证事务的隔离性 保证数据库的一致性 保证数据库的一致性
数据不一致实例:飞机订票系统 事务T1事务T2 ①读A=16 读A=16 ③A←A-1 写回 A=15 A←A-3 写回 AE13 T的修改被T2覆盖了!
T1的修改被T2覆盖了! 读A=16 A←A-3 写回 A=13 ① 读A=16 ② ③ A←A-1 写回 A=15 ④ 事务 T1 事务 T2 数据不一致实例:飞机订票系统
并发操作带来的数据不一致性 ■丢失修改( lost update) 不可重复读( non-repeatable read) a读“脏”数据( dirty read)
并发操作带来的数据不一致性 并发操作带来的数据不一致性 丢失修改(lost update lost update ) 不可重复读(non -repeatable read repeatable read ) 读 “ 脏 ”数据(dirty read dirty read )
多个事务可并行执行,一个事务在磁盘上读写时,另 可在CPU上运行,可增加系统的“吞吐量”。给 定时间内执行的事务数增加,相应磁盘与CPU利用率 提高,空闲时间较少。 n系统中可能运行着各种各样的事务,一些较短,一些 较长,若串行执行,短事务可能得等待她前面的长事 务完成→难以预测的延时。如果各事务是针对DB的不 同部分进行操作,事务并发执行会更好。 n减少“平均响应时间”—一个事务从开始到完成所需 的平均时间 口DB中并发执行本质上与os中使用多道程序的动机 样
多个事务可并行执行,一个事务在磁盘上读写时,另 多个事务可并行执行,一个事务在磁盘上读写时,另 一个可在CPU上运行,可增加系统的 上运行,可增加系统的 “吞吐量 ” —— 给 定时间内执行的事务数增加,相应磁盘与 定时间内执行的事务数增加,相应磁盘与CPU利用率 提高,空闲时间较少。 提高,空闲时间较少。 系统中可能运行着各种各样的事务,一些较短,一些 系统中可能运行着各种各样的事务,一些较短,一些 较长,若串行执行,短事务可能得等待她前面的长事 较长,若串行执行,短事务可能得等待她前面的长事 务完成 →难以预测的延时。如果各事务是针对 难以预测的延时。如果各事务是针对DB的不 同部分进行操作,事务并发执行会更好。 同部分进行操作,事务并发执行会更好。 减少 “平均响应时间 ” ——一个事务从开始到完成所需 一个事务从开始到完成所需 的平均时间 DB中并发执行本质上与 中并发执行本质上与OS中使用多道程序的动机一 中使用多道程序的动机一 样