分布式数据库系统期末复习

期末复习

  • 写在最前面
  • 一、分布式数据库系统概述
    • DDBS基本概念
    • 作用和特点
    • 优缺点
  • 二、分布式数据库系统的结构
    • 体系结构:有哪几种类型
    • 模式结构(从数据角度分析)
    • 组件结构(从功能)
  • 三、分布式数据库设计
    • 数据分片定义
    • 分片类型
    • 分片作用
    • 分配设计
    • 分片原则:专业解释
  • 四、分布式查询处理与优化
    • 查询处理的传输代价
    • 分布式查询处理过程
    • 分布式查询处理目标
    • 分布式查询处理层次(和过程是同一个问题)
    • 子过程涉及的基本步骤(处理层次)
    • 分解:
    • 查询重写
    • 数据本地化
  • 五、分布式查询的存取优化
    • 分布式查询优化内容
  • 六、分布式事务管理
    • 事务基本概念与性质
    • 性质:
    • 分布式事务基本概念
    • 分布式事务管理目标
    • 2PL协议
  • 计算部分(2个)三四五章

简答题 65
分片设计 10
2
分页式查询优化 25*2 (5 10 10)

写在最前面

这门课没学太明白,若有问题请批评指正(っ•̀ω•́)っ✎⁾⁾ ,鞠躬

一、分布式数据库系统概述

DDBS基本概念

分布式数据库系统(DDBS)是指数据存放在计算机网络的不同场地的计算机中,每个场地都具有自治处理能力并且可以完成局部应用,而且每一个场地也参与全局应用程序的执行,全局应用程序可以通过网络通信访问系统中多个场地的数据。是地理上分散而逻辑上集中的数据库系统,其定义强调分布性和逻辑整体性两点。

作用和特点

作用
分布式数据库系统是地理上(或物理上)分散而逻辑上集中的数据库系统,因此有效地适应了地理上分散的、网络环境下的、逻辑上统一的分布式系统的需求,涉及到了数据的一致性、完整性及有效性。

特点
分布性,异构性(数据异构性,数据系统异构性,平台异构性),场地自洽性(设计自治性,通信自治性,执行自治性)。
(1)分布性是指系统的各组成单元是否位于同一场地上。
(2)异构性是指系统的各组成单元是否相同。
(3)自治性是指每个场地的独立自主能力。

优缺点

优点
1适合分布式数据管理,有效提高系统性能,如:吞吐率和响应速度提高。
2系统经济性和灵活性好,可利用现有设备和系统,降低投资。
3系统可靠性和可用性强,系统资源和数据分布在物理上不同场地上,为系统所有用户共享,且允许存储副本,提高并行执行度。
4系统具有可扩展性,易于集成现有系统。

缺点
1系统设计复杂。分片设计和分配设计依赖应用需求,且影响性能等。
2系统处理和维护复杂。需分布控制。
3系统安全性和保密性较难控制。
4系统难以改变,存取结构复杂。

二、分布式数据库系统的结构

体系结构:有哪几种类型

体系结构是按组件、组件功能以及它们的交互作用定义系统的结构。有如下两种:
① 基于客户端/服务器结构的体系结构,由 全局事务管理器 统一协调和调度事务的执行,属于紧耦合模式,导致系统复杂度高,资源利用率低。
② 基于中间件的客户端/服务器结构,由 中间件 实现桥接客户端和服务器的功能,松散耦合模式。

模式结构(从数据角度分析)

四层的模式结构:全局外层、全局概念层、局部概念层和局部内层。模式与模式之间是映射关系。
1)全局外模式:不必关心数据的分片和具体的物理分配细节,分布透明性。
2)全局概念模式:包含了全局数据特性和逻辑结构,经过分片模式、分配模式映射到局部模式。
分片模式:全局数据的逻辑划分视图,定义片段以及全局关系与片段之间的映像,分片透明性。
分配模式:划分后的分片数据的的局部物理分配视图,复制透明性。
3)局部概念模式:局部场地上的局部数据逻辑结构。当全局数据模型和局部不同时,还涉及数据模型转换等处理。
4)局部内模式:局部数据的物理结构。

组件结构(从功能)

应用处理器(AP):用于完成分布数据处理的软件。1用户接口,2语义数据控制器,3全局查询处理器,4全局执行监控器(全局事务管理器)。

数据处理器(DP):负责进行数据管理的软件。1局部查询处理。2局部恢复管理器,3运行支持处理器(存储管理器),4局部事务管理器,5局部调度管理器 通信管理器(CM):负责为AP和DP在多个场地之间传送命令和数据。

三、分布式数据库设计

数据分片定义

数据分片是将全局数据进行逻辑划分和实际物理分配的过程。全局数据由分片模式定义分成各个片段数据,各个片段数据由分配模式定义存储在各场地上。定义从全局模式到片段模式的映射关系。

分片类型

1水平分片:按元组进行划分,由分片条件决定;
2垂直分片:按关系属性划分,除关键字外,同一关系的某一属性不允许出现在一个关系的多个分片中。
3混合分片:即包括水平分片也包括垂直分片。

分片作用

1减少网络传输量。
2增大事务处理的局部性。
3提高数据的可用性和查询效率。
4 使负载均衡。减少数据访问瓶颈,提高整个系统效率。

分配设计

定义
全局数据经过分片设计,得到各个划分的片段,片段到物理场地的存储映射过程称为分配设计过程。

类型
1)非复制分配:如果每个片段只存储在一个场地上,称为分割式分布,对应的分布库,称为全分割式分布库。
2)复制分配:如果每个片段在每个场地上存有副本,称为全复制分配,对应的分布库称为全复制分布库。如果每个片段只在部分场地上存有副本,称为部分复制分配,对应的分布库称为部分复制分布库。

分片原则:专业解释

哪些数据须分布存放、哪些数据不需要分布存放、哪些数据需要复制等,对系统进行全盘考虑,使系统性能最优。
1) 完备性:一个全局关系中的数据必须完全的划分为若干片段,不允许某些数据属于全局关系但不属于任何一个片段。
如果全局关系R划分的片段为R1,R2,…,Rn,则对于R中任意数据项d(d∈R),一定存在d∈Ri(1≤i≤n)。
2)可重构性:可以由片段重构全局关系,对于垂直分片可以用连接操作重构全局关系,对于水平分片,可以用并操作重构全局关系。
如果全局关系R划分的片段为R1,R2,…,Rn,则存在关系运算,使得R=R1R2…Rn。
3)不相交性:不允许一个全局关系的某些数据既属于该全局关系的某一个片段,又属于另一个片段。
如果全局关系R水平划分的片段为R1,R2,…,Rn,则任意两个不同的片段的交集为空,即RiRj=(i≤j, 1≤i≤n, 1≤j≤n)。

四、分布式查询处理与优化

查询处理的传输代价

在分布式查询中,数据传输是衡量查询时间的主要指标,不同查询处理技术差别很大。
在集中式数据库中,查询执行开销为:I/O代价+CPU代价;
在分布式查询数据库中,查询执行开销为:I/O代价+CPU代价+通信代价;

分布式查询处理过程

从全局关系到片段关系,最后再到实际操作的副本关系。

分布式查询处理目标

转换和优化
确定出一种执行代价最小的查询执行策略或寻找相对较优的操作执行步骤
优化就是寻找执行代价(费用和时间)最小的查询执行策略,使系统执行效率降到最低。优化的目标就是指局部执行代价和网络传输代价的和最小。 局部执行代价:主要指输入/输出次数(I/O代价)及CPU处理代价。 网络传输代价:主要指传输启动代价和数据传输代价。

分布式查询处理层次(和过程是同一个问题)

查询处理层次:查询分解、全局查询优化、局部查询优化
分解:规范化、分析(检查不正确的查询,得到关系演算子集)
、约简、查询重写
查询的处理过程是从全局关系到片段关系,最后再到实际操作的副本关系。

子过程涉及的基本步骤(处理层次)

查询分解,基于全局概念模式将演算查询分解为代数查询。 Step1 – 演算规范化 Step2 – 语义分析,去掉不正确的查询。 Step3 – 简化,去除冗余的部分 Step4 –将演算查询转化为优化的代数查询。

数据本地化,分布查询映射为片段查询,简化、重组为优化(good)的查询。

全局查询优化
1找接近于最优的执行策略;
2找片段查询中最佳的操作顺序,包括通信操作。
3需要实时定义代价函数。

局部查询优化,集中的系统算法.
INGRES –动态优化( dynamic optimization)
System R – 基于穷举法的静态优化(static optimization based on exhaustive search)

分解:

1规范化、2分析(检查不正确的查询,得到关系演算子集)、3约简、4查询重写

查询重写

1直接将关系演算转换为关系代数;
2重写关系代数查询以提高性能。

数据本地化

数据本地化是将介绍全局查询到片段查询的变换。即利用全局关系与其片段关系的等价关系,将分布查询中的全局关系替换为对片段关系的查询,变换后的查询称为片段查询。对应于片段查询的查询树,称为片段查询树。

五、分布式查询的存取优化

分布式查询存取优化技术(枚举、半连接)其他问题可以从这两个里面回答出来

分布式DBS的数据分布在各个场地,查询过程中,为了减少数据网络传输量,提高查询速度,需要连接查询优化,主要有两种策略:
1)使用半连接来缩减关系(或片段),以减少联接操作的操作数,以降低传输费用;
2)枚举,直接使用连接的查询优化方案。常见的直接连接算法主要有:嵌套循环连接算法,归并排序连接算法,哈希连接算法,基于索引的连接算法。
查询操作的代价评估:综合考虑局部代价和传输代价。
若侧重传输代价,局部代价可以忽略不计时,采用半联接技术较好;
侧重局部代价时,采用直接联接比采用半联接优越。

分布式查询优化内容

确定片段查询需访问的物理副本。确定片段查询表达式操作执行的最优顺序。选择执行每个操作的方法。
优化是在片段查询的基础上进行的实际物理副本查询操作的优化。

六、分布式事务管理

事务基本概念与性质

事务是由若干个为完成某一任务而逻辑相关的操作组成的操作序列,是保证数据库正确性的基本逻辑单元。由三部分组成:1开始标识begin_transaction2数据库操作3结束标识commit(提交)或abort(废弃)

性质:

1原子性(事务所包含的操作要么全做,要么全不做)
2一致性(事务执行的结果必须是使数据库从一个一致性状态变化到另一个一致性状态,而不会停留在某种不一致的中间状态上)
3隔离性(一个事务的执行既不能被其它事务所干扰,同时也不能干扰其它事务)
4耐久性(事务一旦被提交,它对数据库的更改将是永久性的)

分布式事务基本概念

任何一个应用的请求最终将转化为对数据库的存取操作序列,该操作序列可定义为一个或几个事务。分布式事务是分布式数据库应用中的事务,也称全局事务。一个分布式事务在执行过程中,被分解为若干场地上的独立执行的操作序列。

分布式事务管理目标

使事务的执行具有较高的执行效率,具有较高的可靠性和并发性。
(维护分布式事务的ACID性质,提高系统的性能,提高系统可靠性和可用性。)

2PL协议

基本思想:分布式事务提交过程分两个阶段:决定阶段,执行阶段
实现方法:分布式数据库中,全局事务由被分解为在各个场地上举行的子事务所组成,只有当各个场地的子事务都正确执行后,全局事务才可以提交,只要有一个子事务不能提交,则全局事务应该废弃,所有子事务也应废弃,因此所有子事务正确提交是分布式事务提交的前提。

计算部分(2个)三四五章

1根据应用场景(作业涉及)
分析定义与表示(代数表达式、分片表示方式)
全局查询-查询数-优化设计 查询树的结构
分配设计 如何思考的,采取什么样的方式

2关于查询代价的计算
半连接、直接连接
给一个场景明确
场景的SQL语句表达
设计出执行计划,并计算执行代价有多少

你可能感兴趣的:(笔记,数据库,分布式,服务器)