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

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

1. 分布式事务概述在线视频

1. 分布式事务概述

下一节:2. 分布式事务的两阶段提交协议

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

1. 分布式事务概述课程教案、知识点、字幕

同学们好,今天我们来对分布式事务管理来进行一个讨论

这部分我们主要给大家来介绍一下分布式事务的基本定义

以及分布式事务的两个阶段提交协议

我们来先看一下分布式事务的定义

分布式事务,它实际上是集中式数据库事务的一个扩展

那么我们也把它叫做全局事务

因为它包含若干个集中式数据库,所以我们把它也称为全局事务

一个全局事务在执行的时候

一般来说它都要把它分解成若干个与相应站点相关的一些操作系列

而这些操作系列我们把它称为子事务

所以说一个全局事务它实际上是由若干个子事务构成的一个操作系列

分布式事务它也是由begin transaction 开始

Commit、Abort或Rollback这些关键词结束,表示事务的提交或者是失败

分布式事务和集中式事务它的特点是一样的

也就是说它都是要有原子性、隔离性、一致性、持久性

只有保持这样一种特点,才能够保证事务执行的正确性

分布式事务比集中式事务还要多一个

我们分布式事务执行还要注意一个系统的效率以及系统的可用性

也就是说分布式事务它在执行的时候它不能够影响本站点上事务的执行

也不能影响其他站点上事务的执行

也就是它的执行使得整个分布式数据库系统能够正确的运行,这是它的特点

那么我们说分布式事务如果要能够进行执行,而且能够正确的执行的话

它是如何实现的呢,分布式事务它在执行的时候呢

采用的是代理机制,代理实际上是一种概念

代理一般的来说它指的是在一个站点上的一个进程

它用来协调整个分布式事务执行的过程,我们可以用一个例子来表示

对于一个全局的事务来说,它一般来说会有一个总代理

也把它叫做根代理,一般这个根代理都是从应用请求的源发站点开始的

总代理它主要是协调整个事务的运行

它使得整个分布式事务运行开始,并且创建各个子事务的代理

所以如果说一个分布式事务它从一个源发站点

它要执行的时候,它要有一个总代理

然后由总代理来提交这个事务,有它来执行begin transaction

然后再开始对整个事务分解成若干个子事务

然后在各个局部站点上创建子事务的代理

子事务代理对整个子事务的执行进行协调

并且向根代理传送子事务执行的消息

比如说它是成功还是失败,这是它运行的机制

那么我们用一个例子来说明一下这个代理机制的执行情况

我们用一个银行转账的一个事务

它的任务是从账号FROM_ACC上把数量为AMOUNT的资金,转到TO_ACC这个账户上

假设说转账的账号在A站点上,接收资金的账号在B站点上

应用源发的站点是A站点,这样我们全局应用的事务就可以写成这样

首先我们要从账户,比如说我这个账户是在一个表ACCOUNT_TABLE里面

从这个里面我要找出它的资金来,我们先对资金进行一个判断

比如说资金要是小于0的话,我们这个账户就不能转了,转不了资金

如果它大于0的话,我们就可以转

然后我们对这个账户进行一个修改

接下来我们对B站点上另外一个账户TO_ACC接收资金

并且对账户进行修改,这样一个过程,这是一个全局应用的事务

对于这样一个全局应用的事务

我们采用代理机制来进行执行的时候是一个什么样的呢

应该是这样,转出账户比如说是在源站点A上

那么它就会生成一个根代理,我们把它叫做ROOT_AGENT

这个根代理就会把原来的全局事务改造成这样

它只包含了在A站点上对账户的取出资金的一个修改

接下来它把取出来的资金要传到B站点的TO_ACC这个账户上去

这个时候它就要在B站点上创建一个代理

而且要把刚才在B站点上进行账户修改的事务变成一个子事务放到B站点上进行执行

它的源代码就有一个create AGENT

接下来它就开始等待,等待接收从这个子事务

也就是B站点上给它传回来的消息是Commit还是Abort

它在等待的过程当中B站点、子代理

也就是说它一旦创建子代理,子代理被激活,然后它就开始子事务处理

进入begin transaction ,然后接收从总代理传过来的参数

然后对本站点的账户这张表进行修改

修改完之后,它就会把它修改的结果

比如说是成功修改,要传一个success

如果事务没有成功执行要传一个fail,传给根代理

根代理会根据接收到的信息来决定,我是commit还是abort

如果它成功地接收到子代理传给它的是一个success的话

那么它肯定就要commit,然后就要把它提交的这样一个信息传给子代理

子代理直接提交这个事务,就是这样的一个执行过程

这就是基于代理机制的全局事务的一种执行

从前面的介绍,我们对于分布式事务的基本原理就有一个大致的认识

下面我们将介绍一下分布式事务的两阶段提交协议

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

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

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

高级数据库技术期末试题

-试题--作业

1. 分布式事务概述笔记与讨论

也许你还感兴趣的课程:

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