当前课程知识点:高级数据库系统 >  第四讲 事务并发调度的相关概念 >  2. 可串行化调度 >  4-2. 可串行化调度

返回《高级数据库系统》慕课在线视频课程列表

4-2. 可串行化调度在线视频

4-2. 可串行化调度

下一节:4-3. 冲突可串行化调度

返回《高级数据库系统》慕课在线视频列表

4-2. 可串行化调度课程教案、知识点、字幕

下面,我们来看一下可串行化调度的概念

我们刚才说了,说这个串行化实际上是

最容易构造而且最容易与业务规则相一致的

是正确的一种调度

那么如果我们的这个并发调度

如果能和串行化调度要一样的话

那不就是我们所追求的吗

所以,下面我们就来做一个定义,叫做可串行化调度

那么什么叫可串行化调度呢

那我们看一下PPT上这段话

它说如果对一个并发事务的集合

那么S是这个集合里面所有事务的一个串行调度

当然这个串行调度,我们不会给它定义一个

比如说非是t1在前,t2在后,t3在后

那么只要是一个事务执行先于另外一个事务就可以

就说,S是T的一个串行调度,而S’是T 的一个调度

那么这个调度呢, S ‘如果与S 有着相同的一致性状态

大家注意这个一致性状态非常重要

那么什么叫做一致性状态呢

一致性状态就是指我这个事务在执行的过程当中

它的变量的状态变化,是一致的

它叫一致性状态,所以我们说如果s’与s

它在执行过程当中有了相同的一致性状态

那么我们说S’,它就是一个可串行化调度

那么我们用一个例子来看一下,比如说这个例2,T1和T2

我们还用前面这个T1和T2的例子

那么如果我们把这个T1,T2,它的这个调度呢,这样地去做

比如说做一个T3调度,把T1,T2的命令这样去排列

比如说,我先这个事务T1先读x,然后再进行写

然后接下来,我执行事务T2,读x进行写x,

然后接下来再执行事务T1的命令,读y写y,再执行T2的命令

那么读y,然后进行乘法的顺序

那么这个执行预先执行T1,后执行T2

它的这个状态就是完全一致的

所以呢,我们说它就是一个可串行化

它是调度S3是T1,T2的一个可串行化调度

那么我们再看一下,我们还可以构造另外一个调度

调度S4,我们再看这个例子

那么对这个来说呢,就是我可以先执行T2

比如说T2先对x进行这个读写,然后再执行T1对x进行读写

再执行T2对y进行读写,再执行T1对y进行读写

那么这样的话,就相当于什么呢,先执行T2,后执行T1

它的这个变量的变化,x和y它的这个状态的变化

与先执行T2,后执行T1的效果是完全一样的

所以这个呢,我们说它是T2,T1的一个可串行化调度

那么下面我们再看一个例子,这个S5我们构造一个调度

这个调度呢,它是什么呢

它先执行对T1,进行执行它的对x进行读写

然后呢,它再执行T2,对x进行读写,是吧

那么这个呢,我们看x的状态变化

实际上是与先执行T1,再执行T2是完全一样的,是吧

但是接下来它的这个命令呢

这个调度的命令是先执行T2的对y进行读写

然后再执行T1对y进行读写

显然这个和先执行T1,后执行T2,y的状态就不一样了,是不是

所以这样的话呢,我们说这个调度,它与先执行T1,后执行T2

和先执行T2,后执行T1是完全不一样的,都不一样

所以呢,我们说,它实际上是一个不可串行化的调度

也叫不可串行化,也就是它与串行化之间效果是不一样的

那么实际上从最后的执行结果来看呢,也确实是不一样的

所以这个呢,就是我们不能保证它将来最终的结果是不是正确

所以这样的调度不是我们希望的

高级数据库系统课程列表:

第一讲 数据文件的组织与索引技术

-1. 数据文件的组织

--1-1 数据文件的组织

-2. 索引的概念与分类

--1-2 索引的概念与分类

-3. B+树索引

--1-3 B+树索引(1)

--1-3 B+树索引(2)

-4. 散列索引

--1-4 散列索引

-5. 小结

--html

-6.练习--作业

第二讲 查询处理及优化

-1. 查询代价的测量及查询处理过程概述

--2-1 查询代价的测量及查询处理过程概述

-2. 关系操作的基础算法

--2-2. 关系操作的基础算法(1)

--2-2. 关系操作的基础算法(2)

-3. 查询表达式的运算

--2-3 查询表达式的运算

-4.查询优化机制

--2-4 查询优化机制

-5.小结

--html

-6.练习--作业

第三讲 数据管理与恢复技术

-1. 数据库的故障及可恢复模型

--3-1. 数据库的故障及可恢复模型

-2. 事务及日志的相关概念

--3-2. 事务及日志的相关概念

-3. 基于undo日志的恢复机制

--3-3. 基于undo日志的恢复机制

-4. 基于redo日志的恢复机制

--3-4. 基于redo日志的恢复机制

-5. 小结

--html

-6. 练习--作业

第四讲 事务并发调度的相关概念

-1. 并发调度及相关概念

--4-1. 并发调度及相关概念

-2. 可串行化调度

--4-2. 可串行化调度

-3. 冲突可串行化调度

--4-3. 冲突可串行化调度

-4. 小结

--html

-5. 练习--作业

第五讲 基于封锁的并发控制机制

-1. 锁的概念及封锁的原理

--5-1. 锁的概念及封锁的原理

-2. 两阶段锁协议

--5-2. 两阶段锁协议

-3. 多粒度锁及意向锁

--5-3. 多粒度锁及意向锁

-4. 死锁的处理

--5-4. 死锁的处理

-5. 小结

--html

-6. 练习--作业

第六讲 并发控制的其它机制

-1. 基于时间戳的调度

--6-1. 基于有效性检验的调度

-2. 基于有效性检验的调度

--6-2. 基于时间戳的调度

-3. 小结

--html

-4. 练习--作业

第七讲 分布式数据库基本概念

-1. 分布式数据库系统的产生及定义

--7-1. 分布式数据库系统的产生及定义(1)

--7-1. 分布式数据库系统的产生及定义(2)

-2. 分布式数据库系统的模式结构与功能结构

--7-2. 分布式数据库系统的模式结构与功能结构

-3. 分布式数据库系统中存在的技术问题

--7-3. 分布式数据库系统中存在的技术问题

-4. 小结

--html

-5. 练习--作业

第八讲 分布式数据库的设计

-1. 分布式数据库的设计方法、内容和目标

--8-1. 分布式数据库的设计方法、内容和目标

-2. 自顶向下方法构建数据库

--8-2 . 自顶向下方法构建数据库

-3. 数据的分片和分布设计

--8-3. 数据的分片和分布设计(1)

--8-3. 数据的分片和分布设计(2)

-4. 分布式数据库设计案例讲解

--8-4. 分布式数据库设计案例讲解(1)

--8-4. 分布式数据库设计案例讲解(2)

--8-4. 分布式数据库设计案例讲解(3)

-5. 小结

--html

-6. 练习--作业

第九讲 分布式数据库查询机制

-1. 分布式查询处理的步骤和代价

--1. 分布式查询处理的步骤和代价

-2. 基于等价变换的查询优化

--2. 基于等价变换的查询优化

-3. 基于半连接算法的查询优化

--3. 基于半连接算法的查询优化

-4. 基于直接连接算法的查询优化

--4. 基于直接连接算法的查询优化

-5. 小结

--html

-6. 练习--作业

第十讲 分布式数据库的事务管理及恢复机制

-1. 分布式事务概述

--1. 分布式事务概述

-2. 分布式事务的两阶段提交协议

--2. 分布式事务的两阶段提交协议

-3.分布式并发控制概述

--3.分布式并发控制概述

-4. 并发控制的加锁机制

--4. 并发控制的加锁机制

-5. 并发控制的时标技术

--5. 并发控制的时标技术

-6. 小结

--html

-7.练习--作业

高级数据库技术期末试题

-试题--作业

4-2. 可串行化调度笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。