新疆大学:《数据库原理与技术》课程电子教案(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分 ◼ 串行调度:不同事务的活动在调度中是一个接一个执行 的,没有交叉的运行。 ➢ 两个串行调度的结果不同。但只要保持了数据库的一致性,最终的结 果并不重要
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第6章 数据库恢复.ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第5章 数据库安全.ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第4章 函数依赖.ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第4章 关系数据库设计与理论(范式).ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第3章 关系数据库的标准语言(SQL语言基础).ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第2章 关系数据库.ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第1章 绪论(主讲:钱育蓉).ppt
- 《数据库原理与技术》课程教学资源(参考资料)SQL基础教程.doc
- 《数据库原理与技术》课程参考文献:《Database System Concepts》书籍PDF电子版(SIXTH EDITION,英文原书,Abraham Silberschatz、Henry F. Korth、S. Sudarshan).pdf
- 《数据库原理与技术》课程教学资源(参考资料)PowerDesigner 15.1简要使用手册.pdf
- 新疆大学:《数据库原理与技术》课程教学实验指导书(数据库设计与应用开发).pdf
- 新疆大学:《数据库原理与技术》课程教学大纲.docx
- 东北大学:《Java程序设计基础》课程教学大纲 Java Programming Fundamentals.pdf
- 《信息技术应用》课程教学课件(讲稿)20 如何防范计算机病毒.pdf
- 《信息技术应用》课程教学课件(讲稿)19 如何制作电子版报名照片.pdf
- 《信息技术应用》课程教学课件(讲稿)18 如何畅游互联网.pdf
- 《信息技术应用》课程教学课件(讲稿)17 如何创建简单查询.pdf
- 《信息技术应用》课程教学课件(讲稿)16 如何美化演示文稿.pdf
- 《信息技术应用》课程教学课件(讲稿)15 如何创建演示文稿.pdf
- 《信息技术应用》课程教学课件(讲稿)14 如何制作疫情数据折线图.pdf
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第8章 数据库设计理论.ppt
- 新疆大学:《数据库原理与技术》课程电子教案(PPT课件)第9章 数据库应用设计方法.ppt
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第1章 绪论.pptx
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第2章 关系数据库.pptx
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第3章 关系数据库标准语言(SQL).pptx
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第4章 关系数据库理论.pptx
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第5章 数据库安全保护.pptx
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第6章 数据库设计.pptx
- 新疆大学:《数据库原理及应用》课程教学课件(PPT讲稿)第7章 SQL Server 2012高级应用.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第一章 Visual Basic程序设计概述.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第三章 VB语言基础.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第二章 Vb简单的程序设计.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第四章 基本的控制结构.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第七章 常用控件.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第五章 数组.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第六章 过程.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第九章 文件.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第八章 界面设计.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第十一章 Visual Basic与数据库.pptx
- 同济大学:《Visual Basic程序设计》课程教学课件(PPT讲稿)第十章 图形操作.pptx