分布式数据库单元复习(狗头:预习)

本文深入探讨了分布式数据库系统的基本概念、作用和特点,包括分布性、异构性和场地自治性。详细阐述了分布式数据库的优缺点,如性能提升、数据冗余与并发控制的挑战。此外,介绍了DDBS的体系结构,如基于层次和中间件的模型,并分析了分片和分配设计的重要性。同时,讨论了多数据库系统、P2P数据库系统以及并发控制策略。最后,提到了查询处理过程和优化技术,强调了事务管理和ACID性质在分布式环境中的关键作用。
摘要由CSDN通过智能技术生成

1. 分布式数据库基本概念:

分布式数据库系统(DDBS)包含分布式数据库系统管理(DBMS)和分布式数据库(DDB)
DDBS按局部DBMS的数据模型分:1同构型DDBS,2异构型DDBS

按DDBS的全局控制类型分:1全局控制集中型DDBS,2全局控制分散型DDBS,3全局可变集中型DDBS

(数据库管理系统可描述为用户接口、查询处理、查询优化、存储管理四个基本模块和事务管理、并发控制、恢复管理三个辅助模块组成)
(SQL是一种非过程性语言。提供了数据定义(建立数据库和表结构)、数据操纵(输入、修改、删除和更新、数据查询)、数据控制等数据库操作命令,较好地满足数据库语言的要求。)

分布式数据库系统是物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。(分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。)
分布式数据库是分布在一个计算机网络上的多个逻辑相关的数据库的集合。
分布式数据库系统是地理上分散而逻辑上集中的数据库系统。管理分布式数据库的软件称分布式数据库管理系统。分布式系统通常是由计算机网络将各地理上分散的逻辑单位连接起来。被连接的逻辑单位称为节点(node)或场地(site)。

(分布式数据库管理系统是分布式数据库系统的一组软件。负责管理分布式数据库的数据管理和操作。保证逻辑数据的一致性、完整性等。)
分片: 把每个划分的片段存储在不同的站点,这个过程称之为分片。

2. DDBS作用和特点:

作用:分布式数据库系统是地理上(或物理上)分散而逻辑上集中的数据库系统。适合于分散型组织结构的任何信息系统。(如:航空公司订票系统、陆、海、空军事指挥系统、CIMS制造业、银行通存通兑系统和连锁配送系统等等。)分布式数据库系统有效地适应了地理上分散的、网络环境下的、逻辑上统一的分布式系统的需求。

特性:分布性,异构性(数据异构性,数据系统异构性,平台异构性),
场地自洽性(设计自治性,通信自治性,执行自治性)。
设计自治性:局部数据库管理系统(DBMS)能独立决定它自己局部库的设计。
通信自治性:局部数据库管理系统(DBMS)能独立决定是否和如何与其他场地的DBMSs通信。
执行自治性:局部数据库管理系统(DBMS)能独立决定以何种方式执行局部操作。

——根据系统的自治性,可分为集中式系统、联邦式系统和多数据库系统——
分布式数据库的特性:1.数据透明性(分布透明性、复制透明性和分片透明性),2.场地自治性(设计自治性,通信自治性,执行自治性)。
分布透明性:全局用户看到的是全局数据模型的描述,用户象使用集中数据库一样,不需考虑数据的存储场地和操作的执行场地。
复制透明性:分布数据库支持有控制的数据冗余,即数据可重复存储在不同的场地上,提高系统的可用性和可靠性,加强系统处理的并行性。
分片透明性:分片是将一个关系的分成几个子关系之中的一个子关系。根据实际需求,一个分片可能存储在不同的场地上(实际存储在场地上称分段)。

特点
分布式数据库系统是在集中式数据库和计算机网络技术基础上发展起来的,同时提出了许多新观点、新方法和实现的新技术,有效地提高了分布系统的性能。
关键技术:查询处理、并发控制、可靠性、安全性与完整性

3. DDBS优缺点:

优点: 1提高系统性能,如:吞吐率和响应速度提高。2可利用现有设备和系统,降低投资。3系统允许存储副本,提高可靠性、可用性和并行执行度。4系统具有可扩展性。5系统资源和数据分布在物理上不同场地上,为系统所有用户共享。
缺点:经验不足,系统不很完善。系统复杂。维护开销大。需分布控制。安全问题。系统难以改变。
分布库系统复杂因素:数据复制、场地故障、分布式事务处理

1. DDBS体系结构
系统的体系结构指按组件、组件功能以及它们的交互作用定义系统的结构。
2. 模式结构
抽象为四层的模式结构:全局外层、全局概念层、局部概念层和局部内层。模式与模式之间是映射关系。
在这里插入图片描述
1全局模式或外模式(ES):即全局用户视图
2全局概念模式(GCS):即全局概念视图,是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构。全局概念模式再经过分片模式和分配模式映射到局部模式。
3分片模式:描述全局数据的逻辑划分视图。(即全局数据逻辑结构根据某种条件的划分,将全局数据逻辑结构划分为局部数据逻辑结构。每一个逻辑划分成一个分片。在关系数据库中,一个关系中的一个子关系称该关系的一个片段。)
4分配模式:描述局部数据逻辑的局部物理结构,即划分后的分片的物理分配视图。
5 局部概念模式(LCS):局部概念视图,是全局概念模式的子集。(局部概念模式用于描述局部场地上的局部数据逻辑结构。当全局数据模型与局部数据模型不同时,还涉及数据模型转换等内容。 )
6局部内模式定义局部物理视图:对物理数据库的描述,类似集中数据库的内层。

基于层次的DBMS系统结构

在这里插入图片描述

应用处理器(AP):用于完成分布数据处理的软件,如:处理访问多个场地的请求,查询全局字典中分布信息等。
数据处理器(DP):负责进行数据管理的软件,类似于一个集中式数据库管理系统(DBMS)。
通信管理器(CM):负责为AP和DP在多个场地之间传送命令和数据。

基于“中间件”的客户/服务器的体系结构

在这里插入图片描述

不同系统的系统结构图

负载平衡监测:负责监控数据库服务器的状态及性能,调度依据
数据处理:负责处理从数据库返回的数据,按一定的方式将数据传送给AP。
数据库管理器:负责接收客户请求队列中的客户请求,调用相应的驱动程序管理器,完成相应的数据库查询任务。
驱动程序管理器:负责调度相应的数据库驱动程序,实现与相应的数据库的连接。
在这里插入图片描述

我国分布式数据库系统标准草案中给定的抽象为四层的模式结构:全局外层、全局概念层、局部概念层和局部内层
在这里插入图片描述

1全局模式或外模式(ES):即全局用户视图
2全局概念模式(GCS):即全局概念视图,是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构。全局概念模式再经过分片模式和分配模式映射到局部模式。
3分片模式:描述全局数据的逻辑划分视图。(即全局数据逻辑结构根据某种条件的划分,将全局数据逻辑结构划分为局部数据逻辑结构。每一个逻辑划分成一个分片。在关系数据库中,一个关系中的一个子关系称该关系的一个片段。)
4分配模式:描述局部数据逻辑的局部物理结构,即划分后的分片的物理分配视图。
5 局部概念模式(LCS):局部概念视图,是全局概念模式的子集。(局部概念模式用于描述局部场地上的局部数据逻辑结构。当全局数据模型与局部数据模型不同时,还涉及数据模型转换等内容。 )
6局部内模式定义局部物理视图:对物理数据库的描述,类似集中数据库的内层。

3.组件结构(功能):

应用处理器(AP)功能:1用户接口,2语义数据控制器,3全局查询处理器,4全局执行监控器(全局事务管理器)
数据处理器(DP)功能:1局部查询处理。2局部恢复管理器,3运行支持处理器(存储管理器),4局部事务管理器,5局部调度管理器

1、应用处理器(AP)功能
(1)用户接口:检查用户身份,接受用户命令,如:SQL命令。
(2)语义数据控制器: 视图管理、安全控制、语义完整性控制(全局概念模式)。这些约束定义在字典中。
(3)全局查询处理器:将用户命令翻译成数据库命令;生成全局查询的分布执行计划;收集局部执行结果并返回给用户。
(4)全局执行监控器(全局事务管理器):调度协调和监视AP和DP之间的分布执行;保证复制数据的一致性;保证全局事务的原子性。

2、DP功能
(1)局部查询处理:实现全局命令到局部命令的转换;访问路径选择器,选择最好的路径执行。
(2)局部恢复管理器: 维护本地数据库一致性的故障恢复。
(3)运行支持处理器(存储管理器):按调度命令访问数据库;控制数据库缓存管理器;返回局部执行结果;保证子事务执行的正确性。
(4)局部事务管理器:以局部子事务为单位调度执行,保证子事务执行的正确性。
(5)局部调度管理器:负责局部场地上的并发控制,按可串行化调度和执行数据操作。

3、多数据库系统(MDB):

MDBS 是在己经存在的数据库系统 (称为局部数据库系统:LDBs) 之上为用户提供一个统一的存取数据的环境。

4、DDB 和 MDB的不同:

(1)MDB:本地数据管理器都是完备的DBMS,具有它自己的DDL, DML和TM。
(2)DDB:只有一个数据管理器和依赖于该管理器的存在于各局部场地上组件数据管理器。

5、多数据库的并发控制

(1)能同步全局事务和局部事务。
(2)若要支持多数据库的任意更新操作,必须牺牲某些场地的自治性;
(3)若要保证局部场地的自治性,就必须限制全局事务的类型如只读或单场地更新等。

6、P2P数据库系统(P2PDBS)

对等型模型(又称P2P 模型)是一种新型的体系结构模型,面向大范围的多数据资源点的松散耦合。
特点
(1)每个点均可贡献数据,系统资源具有丰富性、多样性;
(2)可直接访问数据源中的数据资源,即时得到最新鲜的数据,不同于如数据仓库等集中的数据资源仓;
(3)采用自组织原则,具有健壮性;
(4)每个点可随时加入和退出,系统具有分散性、可扩展性;
(5)以Web上的资源为Peer点,系统部署简单,不需要复杂的框架部署实现。

7、DBS与DDBS的典型区别

在这里插入图片描述

8、分布式数据库系统三个基本特性

(1)分布性是指系统的各组成单元是否位于同一场地上。 分布式数据库系统是物理上分散、逻辑上统一的系统,即具有分布性。而集中式数据库系统集中在一个场地上,所以不具有分布性
(2)异构性是指系统的各组成单元是否相同,不同为异构,相同为同构。
(3)自治性是指每个场地的独立自主能力。自治性通常由设计自治性、通讯自治性和执行自治性三方面来描述。

9、字典信息的组织方式

数据库系统中采用数据字典存储数据库定义、管理等信息。
(1)集中式字典是系统中的字典信息集中存储在某个场地存放,进行统一管理。
(2)分布式字典是将字典中的信息分布在多个场地上存放,对局部字典是指字典信息不是集中存放在一起。分布式字典又分复制式分布和非复制式分布

第三章

1、分布式设计库的两种设计策略

Top_Down和 Bottom-UP应用场合
(1)Top_Down: 适于新设计一个数据库系统。
(2)Bottom-UP: 已存在许多数据库系统,并将它们集成为一个数据库。典型的数据集成的研究。
1.数据分片:
——分片过程是将全局数据进行逻辑划分和实际物理分配的过程。全局数据由分片模式定义分成各个片段数据,各个片段数据由分配模式定义存储在各场地上。
分片模式:定义从全局模式到片段模式的映射关系。
分配模式:定义从片段模式到物理模式的映射关系。
在这里插入图片描述

片段:划分的结果,分布式数据库中数据的存储单位。
分片:对全局数据的划分。
分配:对片段的存储场地的指定。当片段存储在一个以上场地时,称为数据复制。如果每个片段只存储在一个场地,称为数据分割存储

2.数据分片作用:

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

3.分片原则:

1)完备性:所有全局数据必须映射到某个片段上。
2)可重构性:所有片段必须可以重新构成全局数据。
3)不相交性:划分的各片段所包含的数据不允许相同。
2、分片的种类
(1)水平分片:按元组进行划分,由分片条件决定;(2)垂直分片:按关系属性划分,除关键字外,同一关系的某一属性不允许出现在一个关系的多个分片中。(3)混合分片:即包括水平分片也包括垂直分片。

3、分片透明性
(1)透明性:指对用户和高层系统隐蔽具体实现细节。
(2)分布透明性指分片透明性、分配透明性和局部映射透明性。
(3)分片透明性:指用户不必考虑数据属于哪个片段。
(4)分配透明性:指用户不必考虑各个片段的存储场地。
(5)局部映射透明性:用户不必考虑数据的局部存储形式。

4、水平分片的影响因素
(1)分片需求信息:来源于应用信息和数据库信息,
(2)应用信息:包括定性信息和定量的信息
5、基本水平分片的步骤
第一步:找到具有完备性和最小性的简单谓词集合。
第二步:派生小项谓词集合。
第三步:确定有意义的小项谓词集,去除无意义的小项谓词。
6、派生的水平分片:基于另一个关系的谓词对关系分片。 影响分片的两个方面(1)数据信息(2)应用信息

7、一个关系的分片不是基于关系本身的属性,而是根据另一个与其有关联性质的关系的属性来划分,这种划分为导出水平划分

8、垂直分片是将一个关系按属性集合分成不相交的子集(主关键字除外),属性集合称为分片属性。即垂直分片是将关系按列纵向以属性组划分成若干片段。
9、垂直分片影响因素:(1)应用需求:同一垂直片段中的多个属性通常是被同一应用同时访问;(2)垂直分片设计的核心是根据用户的应用需求如何正确地划分属性组
10、混合分片:混合分片是既包括水平分片,又包括垂直分片的分片过程。
(1)图形表示法
在这里插入图片描述

(2)分片树表示方法
在这里插入图片描述

4.分配设计类型:

1)非复制分配:如果每个片段只存储在一个场地上,称为分割式分布,对应的分布库,称为全分割式分布库
2)复制分配:如果每个片段在每个场地上存有副本,称为全复制分配,对应的分布库称为全复制分布库。如果每个片段只在部分场地上存有副本,称为部分复制分配,对应的分布库称为部分复制分布库。
——全局数据经过分片设计,得到各个划分的片段,片段到物理场地的存储映射过程称为分配设计过程

11、数据复制的分类 :(1)主从复制也称单向复制;(2)对等式复制也称双向复制;

12、复制常用方法:(1)基于触发器法(2)基于日志法(3)基于时间戳法(4)基于API 法

1.分布式查询处理过程或层次(流程图)

在这里插入图片描述

查询的处理过程是从全局关系到片段关系,最后再到实际操作的副本关系。

2.过程涉及的基本步骤(处理层次):

1查询分解(基于全局概念模式将演算查询分解为代数查询)。

Step1 – 演算规范化
Step2 – 语义分析,去掉不正确的查询。
Step3 – 简化,去除冗余的部分
Step4 –将演算查询转化为优化的代数查询。
2数据本地化(分布查询映射为片段查询,简化、重组为优化(good)的查询)
3全局查询优化
(1)找接近于最优的执行策略;
(2)找片段查询中最佳的操作顺序,包括通信操作。
(3)需要实时定义代价函数。
4局部查询优化(集中的系统算法)
(1)INGRES –动态优化( dynamic optimization)
(2)System R – 基于穷举法的静态优化

3.分布式查询处理的目标(哪方面): 转换和优化

确定出一种执行代价最小的查询执行策略或寻找相对较优的操作执行步骤

4.子过程设计的基本步骤(查询分解、数据本地化、全局优化、局部查询优化)

(1)查询分解(输入 : 基于全局关系的演算查询)
1规范化:将查询转换为规范化形式(AND形式或OR形式 )。对于SQL语句,对Where子句中的谓词表示进行规范化。
词法、语法分析 、转换为规范化表示形式
规范化-转换规则:
交换律
分配律
结合律
德.摩根定律
对合律
2分析:检查不正确的查询,得到关系演算子集
目的: 拒绝类型不正确或语义不正确的查询
类型不正确、语义不正确、分析-查询图
3约简:删除冗余谓词、应用转换规则、幂等规则消除冗余
4查询重构:将演算查询转换为关系代数查询,可能得到多种转换结果,使用转换规则(查询重写是将用户请求构成的查询树进行等价变换)
直接将关系演算转换为关系代数
重写关系代数查询以提高性能
通常使用操作树来表示关系代数查询
SQL查询转换为代数树

准则:(1)尽可能将一元运算移到查询树的底部(树叶部分),使之优先执行一元运算。(2)利用一元运算的重复律,缩减每一关系,以减少关系尺寸,降低网络传输量和I/O大小。
在这里插入图片描述
在这里插入图片描述

(2)数据本地化(数据本地化是将介绍全局查询到片段查询的变换,即利用全局关系与其片段关系的等价关系,将分布查询中的全局关系替换为对片段关系的查询,变换后的查询称为片段查询。对应于片段查询的查询树,称为片段查询树)
a. 分布查询与片段查询的等价关系
对于全局关系R的水平分片R1,R2,…,Rn ,表示为:R=R1∪R2∪…∪Rn
对于全局关系R的垂直分片R1,R2,…,Rn ,表示为:R=R1∞R2∞…∞Rn
b. 片段查询树的生成步骤
将分片树的h(水平)节点转换为查询树的∪(并集)节点。
将分片树的v(垂直)节点转换为查询树的∞(联接)节点。用替换后的分片树代替全局查询树中的全局关系,得到片段查询树。
在这里插入图片描述

c.片段查询的优化规则
准则1:对于一元运算,根据一元运算的重复律,将叶子节点之前的选择运算作用于片段,如果不满足片段的限定条件,则置为空关系。
准则2:对于联接运算的树,若联接条件不满足,则将其置为空关系。
准则3:在查询树中,将联接运算(∞)下移到并运算(∪)之前执行。
准则4:消去不影响查询运算的垂直片段。

(3)全局优化:基于查询重写准则(在查询树Q1的基础上进行全局优化)根据分配律,将一元运算向下移。得到全局优化后的查询树:

在这里插入图片描述

  1. 分布式查询存取优化的技术(枚举,半连接):
    (1)枚举法(枚举法是基于直接联接的实现方法。)
    a. 查询操作的代价评估:综合考虑局部代价和传输代价。
    若侧重传输代价,局部代价可以忽略不计时,采用半联接技术较好;
    侧重局部代价时,采用直接联接比采用半联接优越。
    b.常见的直接连接算法主要有:
    1)嵌套循环连接算法(nest-loop)
    是一种最简单的连接算法,原理是对连接操作的两个关系中的一个仅读取其元组一次,而对另一个关系中的元组将多次读取。
    特点是可以用于任何大小的关系间的连接操作,不必受连接操作所分配的内存空间大小的限制。
    1.1) 基于元组的嵌套循环连接
    在这里插入图片描述

    归并排序连接算法(merge-scan)
    哈希连接算法(Hash)
    基于索引的连接算法
    

    c. 对每种直接连接算法进行代价估计:考虑执行连接操作所需的磁盘I/O代价。
    d. 对磁盘I/O代价的估计主要依赖于数据库的特征参数。

(2)半连接
半联接技术的优化目标:减少联接操作的操作数,以降低传输费用。
枚举法是基于直接联接的实现方法。
常见的直接连接算法主要有:嵌套循环连接算法,归并排序连接算法,哈希连接算法,基于索引的连接算法。
2. 分布式查询存取优化内容:确定片段查询需访问的物理副本。确定片段查询表达式操作执行的最优顺序。选择执行每个操作的方法。
——优化是在片段查询的基础上进行的实际物理副本查询操作的优化。——

  1. 事务基本概念,性质
    事务是由若干个为完成某一任务而逻辑相关的操作组成的操作序列,是保证数据库正确性的基本逻辑单元。
    一个事务由三部分组成:1开始标识begin_transaction2数据库操作3结束标识commit(提交)或abort(废弃)
    性质:1原子性(事务所包含的操作要么全做,要么全不做),2一致性(事务执行的结果必须是使数据库从一个一致性状态变化到另一个一致性状态,而不会停留在某种不一致的中间状态上),3隔离性(一个事务的执行既不能被其它事务所干扰,同时也不能干扰其它事务),4耐久性(事务一旦被提交,它对数据库的更改将是永久性的)
  2. 事务管理目标:使事务的执行具有较高的执行效率,具有较高的可靠性和并发性。
    (维护分布式事务的ACID性质,提高系统的性能,提高系统可靠性和可用性。)
  3. 2PC协议
    基本思想:分布式事务提交过程分两个阶段:决定阶段,执行阶段
    实现方法:分布式数据库中,全局事务由被分解为在各个场地上举行的子事务所组成,只有当各个场地的子事务都正确执行后,全局事务才可以提交,只要有一个子事务不能提交,则全局事务应该废弃,所有子事务也应废弃,因此所有子事务正确提交是分布式事务提交的前提。
    计算题:
  4. 根据应用场景——1.分片定义和表示(代数表达式,分片表示方法)
    ——2.全局查询——查询树——优化设计
    ——3.分配设计
  5. 根据应用场景,计算查询代价——1.半连接
    ——2.直接连接
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是Yu欸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值