《数据库管理及应用》课程电子教案(PPT课件)5.04 Concurrent Control Introduction 并发控制引论

5.04 Concurrent Control ntroduct i on 并发控制引论
1 5.04 Concurrent Control Introduction 并发控制引论

-concurrent in database System 数据库系统中的并发 ● serial access: 事务的串行访问。 一个事务结束后,另一事务才开始,这种执行 方式叫事务的串行访问,即事务串行执行。 concurrent access:并发访问。 DBMS可以同时接纳多个事务,各事务可在时间 上重叠。这种执行方式叫并发访问
2 一.concurrent in database System 数据库系统中的并发 ⚫ serial access: 事务的串行访问。 一个事务结束后,另一事务才开始,这种执行 方式叫事务的串行访问,即事务串行执行。 ⚫ concurrent access:并发访问。 DBMS可以同时接纳多个事务,各事务可在时间 上重叠。这种执行方式叫并发访问

inter |eaved concurrency 交叉并发 单CPU系统,各事务只能轮流使用CPU, 这种并发方式叫交叉并发。 s imu taneous concurrency 同时并发 多CPU系统,各事务可同时分别占用不同 CPU,这种并发方式叫同时并发
3 interleaved concurrency: 交叉并发 单CPU系统,各事务只能轮流使用CPU, 这种并发方式叫交叉并发。 simultaneous concurrency: 同时并发 多CPU系统,各事务可同时分别占用不同 CPU,这种并发方式叫同时并发

二. aim for concurrency 并发的目的 。改善系统的资源利用率: 一个事务不同执行阶段需要 不同的资源:用CPU,访磁盘,通信, 串行会造成多数资源闲置。 。改善短事务响应时间:如下 事务T1 事务T2 若T1先开始执行,串行,T2要等很长时间,长事 务多等用户可接受,短事务等太久用户不可接受
4 二. aim for concurrency 并发的目的 ⚫ 改善系统的资源利用率: 一个事务不同执行阶段需要 不同的资源:用CPU,访磁盘,通信, 串行会造成多数资源闲置。 ⚫ 改善短事务响应时间:如下 事务T1 事务T2 若T1先开始执行,串行,T2要等很长时间,长事 务多等用户可接受,短事务等太久用户不可接受

三.Problem of( concurrency 事务并发执行,如不加控制会产 生如下问题: 1.lost update丢失更新 Tl T2 时 间 read(x) read(x) x=x+1, write(x); X=2X, write(x); 事务T1对X的更新丢失,与串行执行比较:初值X=4,x终值: 图次序:8;串行T1,T2为10;T2,T1为9。 称wr ite-一write conflict,写一写冲突
5 三.Problem of concurrency 事务并发执行,如不加控制会产 生如下问题: 1.lost update丢失更新 时 间 ⚫ 事务T1对X的更新丢失,与串行执行比较:初值X=4 , x终值: 图次序:8;串行T1,T2为10;T2,T1为9。 ⚫ 称write—write conflict,写一写冲突。 T1 T2 read(x) . . . x:=x+1; write(x); . . . . . . . . . read(x) . . . . . . x:=2x; write(x); . .

o 2.dirty Read 读脏数据 Tl T2 read(t[x]); 时 write(t[x],t[y]); 间 read(t[y]); (rollback) 由一个事务读取另一个事务尚未提交的数据引起,如T 对元组t的x.y更新,与T2两次读;T1改工资T2统计;T 卷回出现的问题。称read-write conflict,读写冲突 6
6 ⚫ 2.dirty Read 读脏数据 时 间 ⚫ 由一个事务读取另一个事务尚未提交的数据引起,如T1 对元组t的x.y更新,与T2两次读;T1改工资T2统计;T1 卷回出现的问题。称read-write conflict,读写冲突。 T1 T2 . . . . . . write(t[x],t[y]); . . . . . . (rollback) read(t[x]); . . . . . . read(t[y]); . . . . .

上图引发问题: T1对元组t的X.Y更新, T2并发读t[x],t[y], 且x在更新前,y于更新后, 故x,y是不一致的数据。 ● T2计算某种聚合函数 (如AVG)时,如统 计平均工资。T1并发修改工资项,则二 者并发引发的问题。 ● 如T1被卷回,则T2读的y是一个不存在的 值。 ●read-write confl ict
7 上图引发问题: ⚫ T1对元组t的X.Y更新, T2并发读t[x],t[y], 且x在更新前,y于更新后, 故x,y是不一致的数据。 ⚫ T2计算某种聚合函数(如AVG)时,如统 计平均工资。T1并发修改工资项,则二 者并发引发的问题。 ⚫ 如T1被卷回,则T2读的y是一个不存在的 值。 ⚫ read-write conflict

3.unrepeatable read 读值不可复现 时 Tl T2 间 read(x); write(x); read(x); T1并未修改x值,但两次读出值不一致,T1,2串行不 会出现这种问题。 读值不可复现,也是读-写冲突所致
8 3.unrepeatable read 读值不可复现 时 间 ⚫ T1并未修改x值,但两次读出值不一致,T1,T2串行不 会出现这种问题。 ⚫ 读值不可复现,也是读-写冲突所致。 T1 T2 . . . read(x); . . . . . . read(x); . . . . . . write(x); . . . . .

四.并发控制的正确性准则 1.schedule调度 o I DBMS中,经常有多个事务并发 执行,每个事务均含有若干有序 操作。这些操作由系统统一安排执行顺序。 安排原则:要各事务操作交叉执行,以 充分利用系统资源;又要避免访问冲突 一个调度s就是对并发的n个事务的所有 操作的顺序的一种安排
9 四.并发控制的正确性准则 1.schedule调度 ⚫ DBMS中,经常有多个事务并发 执行,每个事务均含有若干有序 操作。这些操作由系统统一安排执行顺序。 ⚫ 安排原则:要各事务操作交叉执行,以 充分利用系统资源;又要避免访问冲突。 ⚫ 一个调度s就是对并发的n个事务的所有 操作的顺序的一种安排

。一个调度可以表达成对并发 的n个事务中的操作,统一安 排的一个操作序列。 ●Write→w o Read→R ● 其下标则表示所属事务的编号。 ● 如值不可复现图中两事务并发,视为一 个调度: ●S=·R1(X)·W2(x)·R1(x) 10
10 ⚫ 一个调度可以表达成对并发 的n个事务中的操作,统一安 排的一个操作序列。 ⚫ Write w ⚫ Read R ⚫ 其下标则表示所属事务的编号。 ⚫ 如值不可复现图中两事务并发,视为一 个调度: ⚫ S= ···R1(X)···W2(x)···R1(x)···;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据库管理及应用》课程电子教案(PPT课件)5.03 Execution and Recovery of Update Transaction 更新事务的执行与恢复.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.01 Transaction Management 事务管理.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.05 DBMS 数据库管理系统.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.04 DBMS 数据库管理系统.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.03 Logical structures of Database 数据库的逻辑结构.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.02 Access_path Based Query Optimization 基于存取路径的查询优化.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.01 Optimitation of Query 查询优化.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.07 QBE Language QBE数据库语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.06 Dynamic SQL 动态SQL.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.05 Embedded SQL 嵌入式SQL.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.04 QL and DML in SQL SQL中的查询语言和现代语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.03 DDL 数据定义语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.02 SQL Introduction & DDL SQL 查询语言入门和 DDL)(SQL:结构化查询语言,DDL:数据定义语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.01 Data Manipulation languages 数据操纵语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.03 Tuple&Domain Relation Calculus 元组和域关系演算.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.02 Relation Calculus 关系运算.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.01 data Model of Database 数据库的数据模型.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)1.02 Data Description of real world 真实世界的数据描述.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)1.01 Database 数据库.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)0.0 Development History for Database.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.05 Locking Protocol 加锁协议.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.06 Examination dead lock 死锁的检测.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.07 concurrent control Based time stamp 基于时间标记的并发控制技术.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.08 Multiple Granularity Locking 多粒度封锁.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.09 Concurrent Control Based Time Stamp 基于时间标记的并发控制技术.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.01 Dependency of Data 数据库相关性.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.02 Armstrong 公理体系.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.03 Introduction to Normal Form of relation 关系规范化导论.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.04 Normal Form of Relation 关系规范化.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第一章 绪论(主讲人:徐沛娟).ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第七章 图.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第三章 线性表.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第八章 排序.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第二章 面向对象程序设计与C++语言.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第五章 数组、字符串、集合类.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第六章 树.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第四章 栈和队列.ppt
- 吉林大学:《Windows程序设计》课程电子教案(PPT课件)Windows程序设计教学课件(1/2,主讲人:翟慧杰).ppt
- 吉林大学:《Windows程序设计》课程电子教案(PPT课件)Windows程序设计教学课件(2/2,主讲人:翟慧杰).ppt
- 吉林大学:《计算机图形学》课程电子教案(PPT课件)第一章 计算机图形学简介 第一节 计算机图形学 第二节 计算机图形学的起源.ppt