中国高校课件下载中心 》 教学资源 》 大学文库

新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第7章 并发控制

文档信息
资源类别:文库
文档格式:PPT
文档页数:46
文件大小:2.06MB
团购合买:点击进入团购
内容简介
新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第7章 并发控制
刷新页面文档预览

@ 《数据库原理及应用》 第7章并发控制 新疆大学 软件学院 张灵飞 nickzhlf@163.com 2025年2月24日星期一 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 新疆大学 软件学院 张灵飞 nickzhlf@163.com 2025年2月24日星期一 《数据库原理及应用》 第7章 并发控制

本章内容 事务并发 并发事务引起的问题 3 可串行化 基于锁的并发控制协议 *活锁与死锁 *多粒度封锁 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 1 Click to add Title 事务并发 2 Click to add Title 并发事务引起的问题 23 Click to add Title 可串行化 14 Click to add Title 基于锁的并发控制协议 15 Click to add Title *活锁与死锁 26 Click to add Title *多粒度封锁

事务并发 @ ■I/O与CPU等可以并行交叉运行 ■并发执行的优点 ◆改善系统的资源利用率 ◆减少短事务的等待时间 ■调度(schedule) ◆一个或多个事务的操作按时间排序的一个序列。 T1 T READ(A) WRITE(A) 一个事务的两个操作在调度中 READ(C) 出现的顺序必须与其在事务内 WRITE(C) 定义的先后顺序一致。 RAED(B) WRITE(B) 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 ◼ I/O与CPU等可以并行交叉运行 ◼ 并发执行的优点 ◆改善系统的资源利用率 ◆减少短事务的等待时间 ◼ 调度(schedule) ◆一个或多个事务的操作按时间排序的一个序列。 一个事务的两个操作在调度中 出现的顺序必须与其在事务内 定义的先后顺序一致

本章内容 事务并发 并发事务引起的问题 3 可串行化 基于锁的并发控制协议 *活锁与死锁 *多粒度封锁 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 1 Click to add Title 事务并发 2 Click to add Title 并发事务引起的问题 23 Click to add Title 可串行化 14 Click to add Title 基于锁的并发控制协议 15 Click to add Title *活锁与死锁 26 Click to add Title *多粒度封锁

并发问题 ■读脏数据(dirty read) ◆脏数据(dirty data)是对未提交事务所写数据的统称。 T1 T2 READ(A) √若脏读就造成了数据库的不一 A:=A*0.1 致状态,应严格禁止。 WRITE(A) √若脏读带来的影响足够小,偶 READ(A) 尔可读一次脏数据,它可以提高 COMMIT 并发性,减少事务的等待时间 ROLLBACK 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 ◼ 读脏数据(dirty read) ◆脏数据(dirty data)是对未提交事务所写数据的统称。 ✓若脏读就造成了数据库的不一 致状态,应严格禁止。 ✓若脏读带来的影响足够小,偶 尔可读一次脏数据,它可以提高 并发性,减少事务的等待时间

并发问题 ■不可重复读(unrepeatable read) T1 T2 READ(A) READ(B) READ(C) >事务T1的两次读取数据之间,其它 READ(D) READ(A) 事务修改了它要读取的数据,以致两 READ(E) A=A*0.1 次读到的值不同 WRITE(A) . COMMIT >在事务串行执行时,不会出现此现 READ(A) 象 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 ◼ 不可重复读(unrepeatable read) ➢事务T1的两次读取数据之间,其它 事务修改了它要读取的数据,以致两 次读到的值不同 ➢在事务串行执行时,不会出现此现 象

并发问题 ■ 丢失更新(1 ost update) T1 T2 READ(A) READ(A) >由两个事务对同一数据并发 WRITEE) A:=A+10 地写入引起 WRITE(A) COMMIT COMMIT 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 ◼ 丢失更新(lost update) ➢由两个事务对同一数据并发 地写入引起 A:=A*0.1

本章内容 事务并发 并发事务引起的问题 可串行化 基于锁的并发控制协议 6 *活锁与死锁 *多粒度封锁 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 1 Click to add Title 事务并发 2 Click to add Title 并发事务引起的问题 23 Click to add Title 可串行化 14 Click to add Title 基于锁的并发控制协议 15 Click to add Title *活锁与死锁 26 Click to add Title *多粒度封锁

可串行化 回顾:事务ACID特性中的隔离性? 事务在运行中不受其它事务干扰的方法: ●串行: ◆每个事务依次顺序执行 。并行但控制: ◆事务之间并发执行,DBMS调整事务的调度,使其运行结 果与一次只执行一个事务的结果相同 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 ◼ 回顾:事务ACID特性中的隔离性? ➢ 事务在运行中不受其它事务干扰的方法: ⚫ 串行: ◆每个事务依次顺序执行 ⚫ 并行但控制: ◆事务之间并发执行,DBMS调整事务的调度,使其运行结 果与一次只执行一个事务的结果相同

可串行化 串行调度 ■串行调度:不同事务的活动在调度中是一个接一个执行 的,没有交叉的运行。 T1 T2 T1 T2 READ(A) READ(A) A=A+A*0.1 A:=A+10 WRITE(A) WRITE(A) READ(B) READ(B) B:=B+B02 B=B-20 WRITE(B) WRITE(B) READ(A) READ(A) A=A+10 A=A+A*0.1 WRITE(A) WRITE(A) READ(B) READ(B) B.=B.20 B:=B+B*0.2 WRITE(B) WRITE(B) 两个串行调度的结果不同。但只要保持了数据库的一致性,最终的结 果并不重要 新疆人字软仟字阮 爱,激情,进取,感恩 2025年2月24日1U时24分

新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时24分 ◼ 串行调度:不同事务的活动在调度中是一个接一个执行 的,没有交叉的运行。 ➢ 两个串行调度的结果不同。但只要保持了数据库的一致性,最终的结 果并不重要

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档