当前课程知识点:高级数据库系统 >  第八讲 分布式数据库的设计 >  2. 自顶向下方法构建数据库 >  8-2 . 自顶向下方法构建数据库

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

8-2 . 自顶向下方法构建数据库在线视频

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

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

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

8-2 . 自顶向下方法构建数据库课程教案、知识点、字幕

大家好,今天开始我们来介绍分布式数据库系统的设计问题

在分布式数据库的设计里面,我们主要讲这样几个问题

第一个我们要向大家介绍一下分布式数据库系统设计的方法、内容和目标

然后我们主要来讲一下,自顶向下的设计数据库的步骤

接下来我们要给大家介绍,在重构分布式数据库系统时数据的分片和分布设计

再有一个就是我们要给大家介绍一下分布式数据库系统设计的实例

通过这个实例让大家了解一下,自顶向下设计分布式数据库这样一个方法和步骤

下面我们来讲第一个问题,分布式数据库设计的方法、内容和目标

我们先来看方法,前面我们已经说过分布式数据库系统的构建

实际上是有两种方式,一种是基于现有的数据库系统

比如说一个跨国公司,或者说一个连锁公司

它在不同地理位置上实际上已经存在了它的局部的数据库应用

现在它想把这些数据库应用进行整合

也就是把它整合成一个全新的数据库系统

这就是基于现有的系统来建立一个协调管理系统

如果这样来构建的话,我们就采用组合法进行构建,这是一种

组合法我们一般采用自底向上的方式

也就是说我们先要分析一下各个站点数据库系统的特点、结构

然后我们从它开始向上来研究如何构建基于局部应用的一个全局应用系统

这是自底向上的一种方式构建

还有一种方式就是说,我这种分布式数据库系统目前什么也没有是空的

我要构造一个全新的数据库系统

这个时候我们相当于是来创建一个分布式数据库系统

这个时候我们要采用重构法

重构法基本上来说就是自顶向下

也就是说我们要从整个系统来进行分析

接下来就是整个系统的宏观架构确定了之后

我们再来确定每一个站点,它的数据库模式

这叫自顶向下的方式来构建

我们后面主要来讲第二种方法,重构法

也就是自顶向下的构建分布式数据库方法

那么分布式数据库设计的内容呢

实际上我们分布式数据库设计肯定和传统的关系型数据库设计是一样的

首先我们都要进行需求分析

也就是说首先我们都要分析整个系统的数据需求是什么样的

它的应用需求是什么样,分布式数据库系统的设计也一样

我们先要从需求分析开始

当然它的需求分析要比传统的集中式数据库要复杂的多一些

因为它涉及到若干个站点,一个全局应用可能会从不同的站点出发

所以这个时候它在应用需求里面要涉及到应用的研发站点

它请求的站点,它请求的哪些数据,以及应用对访问数据的一个频率等等

这些是需要在需求分析里面进行重点描述的

然后根据需求分析,我们就来确定分布式数据库系统的设计内容

它设计的核心内容有这样几点

一点就是全局模式的设计

也就是说我们拿到一个分布式数据库系统知道它要覆盖的数据是什么

它的全局模式是一个什么样子的,这个是要设计的内容之一

第二个就是局部数据库设计

也就是说我们需要设计局部数据库系统它的局部的逻辑模式和内模式

如果把全局模式转换成局部模式这中间需要对数据进行分片和分配的设计

所以数据的分片设计和分配设计是分布式数据库系统设计非常重要的内容

这也是我们说数据库设计它的重要内容就4个

全局模式、局部模式、数据的分片和分配设计

那么分布式数据库系统它的设计目标是什么呢

从宏观角度来说肯定是满足应用,这个满足应用我们可以把它细化一下

第一个就是我们为什么要进行分片,为什么要进行分布

肯定是要确保我们整个数据库系统在支持应用的时候

能够使得每一个应用具有最大程度的本地性

也就是说如果这个应用不用访问远程站点的话

它就只访问局部站点就可以了

这样的话成本低,效率高,所以首先要保证这个

再有一个就是分布式数据它的可用性和可靠性的问题

我们设计的分布式数据库系统它一定是可用的

别用两下就不行了,数据库发生错误

或者是不可靠,不能连续的使用

一连续使用系统就崩溃,这样也不可以

所以从结构上也好,从网络上也好,以及从应用程序的设计

整个数据的设计上,都要保证它的可用性和可靠性

再有一个就是工作负荷的问题,分布式数据库系统包含若干个站点

我们的一个全局应用需要访问其中的某一些站点

我们在访问站点的时候希望所有的全局应用能够访问站点的频率要均匀

也就是说每一个站点所承担的工作负荷应该是均匀的

而不是说某一些站点忙的已经受不了了,负载非常大

而另外一些站点基本没有什么人来访问

这样的话就是一些站点没人用,一些站点闲的,一些站点很忙

这样的话就是整个的负载不平衡,这也是不行的

所以说工作负载的均衡分布也是分布式数据库设计的一个主要目标

再有一个就是从费用的角度

我们设计这个分布式数据库系统一定是费用相对来说比较少

但从数据的存储上来讲,存储能力要强,或者说它存储能力比较大

这就是它的一个目标

基于这样的一些设计内容和设计目标

我们来看一下自顶向下的设计数据库的步骤

分布式数据库系统我们采用重构法来构建的时候

采用的就是自顶向下进行设计

这种设计和我们设计集中式数据库的时候它的步骤是完全一样的

也就是说我们要从需求分析开始

然后我们来建立它的全局概念模型

再在全局概念模型的基础上,我们建立它的逻辑模型

接下来我们再构建局部的逻辑模型

在全局逻辑模型和局部逻辑模型之间

我们需要有一个数据的分片和分布的设计

所以分布式数据库系统它比集中式数据库系统

实际上就多了一个全局逻辑模式的设计

分片设计、分布设计和局部逻辑模式的设计

这些都设计好了之后,我们就可以进行一个物理的实现

数据库的物理实施、整个数据库的物理实现和整个系统的运行和调试、维护

这就是自顶向下数据库的设计步骤

后面我们就要来介绍一下

在自顶向下的设计过程当中数据是如何进行分片、分布设计的

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

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

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

高级数据库技术期末试题

-试题--作业

8-2 . 自顶向下方法构建数据库笔记与讨论

也许你还感兴趣的课程:

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