当前课程知识点:高级数据库系统 >  第十讲 分布式数据库的事务管理及恢复机制 >  3.分布式并发控制概述 >  3.分布式并发控制概述

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

3.分布式并发控制概述在线视频

3.分布式并发控制概述

下一节:4. 并发控制的加锁机制

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

3.分布式并发控制概述课程教案、知识点、字幕

大家好,下面我们对分布式数据库并发控制机制来进行一个学习和探讨

在这里面我们主要介绍分布式数据库并发控制的一些基本概念

并发控制的锁机制以及并发控制的时标方法进行一个讨论

首先我们来看一下分布式数据库的并发控制里面的基本概念

我们先看一下分布式并发控制的基本定义

实际上分布式事务的并发控制,它与集中式并发控制从原理上实际上是一样的

也就是说都是旨在同一个时间段内访问相同数据资源的时候

我们应该如何来进行控制,但是它因为要涉及到各个站点上的一些子事务

所以它在控制起来的时候就要复杂一些

所以我们也把分布式事务的并发控制看成是集中式事务的并发控制的一种扩展

那么我们对它进行控制的目的与集中式事务控制的目的实际上是一样的

我们在集中式并发控制的时候是为了产生一个正确的可串行化的这样一种调度

那么我们这个分布式事务也一样,我们对于这样一个全局事务

虽然它也把它分解成若干个子事务,但这些子事务在进行执行的时候

我们控制的目的也是要产生一个可串行化、正确的、执行的一种调度

那么这种调度我们把它分成局部调度和全局调度

局部调度就是说我这个调度会分到每个站点上的调度

全局调度当然是所有站点放在一起的事务的一个执行序列

事务上每一个操作的执行序列

那么因为有局部调度、全局调度,全局调度是由局部调度构成的

这个地方可能就要有一个问题,大家需要注意

如果我整个分布式事务它的全局调度是可串行化的

那么它的局部调度一定是可串行化的,这个肯定是没有问题

但是如果我这个全局调度里面,每一个局部调度都是可串行的

这并不意味着全局调度是可串行的,所以这一块他们之间的关系一定要搞清楚

否则的话可能我们在构造这个全局调度的时候就会出现问题

下面我们用一个例子来说一下,全局调度和局部调度他们之间的关系

比如说有一个数据对象y,它存在有多个副本,比如说y1到yn

比如说有两个站点,站点1和站点2,它这上面都存有y的副本y1和y2

实际上它们是一样的,然后有两个事务t1和t2

t1对y进行读,然后对它进行修改和写

t2也一样,只不过t2对y进行乘法运算,t1进行减法运算

这样的话,如果从全局上以t1、t2执行,它是有一个全局调度的

那么把它分解到某一个站点上,也可产生局部调度

比如说站点1上就可以产生一个局部调度s1

它可以先做什么呢,比如说t1可以先读y再写,然后再提交

然后是t2读y写y,再提交,然后接下来还有一个站点2

t2先执行,比如它先读y写y,提交,然后t1再执行

虽然我们说在每一个站点上,比如站点1上调度是个可串行调度

站点2上这个调度也是一个串行调度,它也是正确的

但是从全局这个角度来说,它就不是可串行的了

因为什么呀,因为站点1和站点2他们执行的时候y的状态的变化是不一样的

所以我们说虽然每一个局部调度它都是可串行的

但是全局调度却不是可串行的,所以从这个角度来说就是

我们在进行全局事务,把它分解成各个子事务的时候

在对子事务进行调度,我们要对全局事务进行并发控制的时候

不能光看每一个站点上的局部调度是否可串行,一定要从全局来考虑

那么我们怎么来控制它呢

也就是说我们怎么能保证一个全局调度它是一个可串行的呢

我们下面有这样的一个条件

第一个它说是全局调度的冲突可串行性

应该满足的条件一个就是单单副本控制协议

那么什么叫单副本控制协议呢,它的内容是有这样两条

第一个就是每一个局部调度都是冲突可串行化的

首先一个局部调度必须是冲突可串行化,这是一个必要条件

第二个在这个基础之上任意两个冲突操作

在它们同时出现的各个局部调度当中,必须具有相同的执行顺序

所以这个要是满足了的话,由这样一些局部调度构成的全局调度一定是正确的

另外还有一个保证条件叫做读一次写全部,这是什么意思呢

就是说我要读一个数据的话,那么我只要读这个副本当中的一个就可以了

我们这个数据可能在整个数据库系统里面有多个副本

如果只做读操作的话,我只要从这些站点当中拿出一个副本读就可以了

但是如果要是写的话,就要写全部了

比如说我要对某一个数据副本进行写操作,也就是修改它

这个时候呢,我可以先把这种写映射到应站点上

但是同时这个站点必须把更改之后的数据映射到所有的副本站点上去

这叫读一个写全部,按照这样一种方式我们的全局调度才能够保证它的性质

也就是保证它的正确性,这是并发控制的相关的一些基本概念

下面我们来看一下,我们如何来进行并发控制

实际上对于并发控制,人们也提出了很多的方法

其中从宏观上来分有两类,一种叫悲观法,一种叫乐观法

悲观法里面就有封锁法,是我们前面讲过的比较朴素和传统的一种方式

还有时标法,还有封锁法和时标法混合使用的一种方法

其中封锁法里面又有集中式加锁、主副本加锁和分布式加锁

时标法里面又有基本时标、多版本时标和保守时标法

乐观法里面也有加锁法和时标排序法

我们一般来说在数据库产品里面最多使用的是封锁法和时标排序的方法

我们后面要给大家介绍一下并发控制的封锁法和时标方法

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

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

-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.练习--作业

高级数据库技术期末试题

-试题--作业

3.分布式并发控制概述笔记与讨论

也许你还感兴趣的课程:

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