第一章 分布式数据库系统概述
1.1 请用自己的语言定义下列分布式数据库系统中的术语:
(1)局部数据:只提供本站点的局部应用所需要的数据。
全局数据:虽然物理上存储在个站点上,但是参与全局应用
(2)全局/局部用户:局部用户: 一个用户或一个应用如果只访问他注册的那个站点上的数
据称为本地或局部用户或本地应用;
全局用户: 如果访问涉及两个或两个以上的站点中的数据,称为全局用户或全局应用。
全局/局部 DBMS:
1)LDBMS(Local DBMS):局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提
供场地自治能力,执行局部应用及全局查询的子查询。
(2)GDBMS(Global DBMS):全局数据库管理系统,主要功能是提供分布透明性,协调全局事
物的执行,协调各局部 DBMS 以完成全局应用,保证数据库的全局一致性,执行并发控制,实
现更新同步,提供全局恢复功能等。
(3)全局外模式:全局应用的用户视图,也称全局视图。从一个由各局部数据库组成的逻辑
集合中抽取,即全局外模式是全局概念式的子集。对全局用户而言,都可以认为在整个分布式
数据库系统的各个站点上的所有数据库都如同在本站点上一样,只关心他们自己所使用的那部
分数据
(4)全局概念模式:描述分布式数据库中全局数据的逻辑结构和数据特性,是分布式数据库
的全局概念视图。采用关系模型的全局概念模式由一组全局关系的定义(如关系名、关系中的
属性、每一属性的数据类型和长度等)和完整性定义(关系的主键、外键及完整性其他约束条件
等)组成。
(5)分片模式:描述全局数据的逻辑划分。每个全局关系可以通过选择和投影的关系操作被
逻辑划分为若干片段。分片模式描述数据分片或定义片段,以及全局关系与片段之间的映像。
这种映像是一对多的。
(6)分配模式:根据选定的数据分布策略,定义各片段的物理存放站点,即定义片段映像的
类型,确定分布式数据库是冗余的还是非冗余的,以及冗余的程度。如果一个片段分配在多个
站点上,则片段的映像是一对多的,分布式数据库是冗余的,否则是不冗余的。
(7)局部概念模式:是全局概念模式的子集。全局概念模式经逻辑划分成一个或多个逻辑片
段,每个逻辑片段被分配在一个或多个站点上,称为该逻辑片段在某个站点上的物理映像或称
物理片段。对每个站点来说,在该站点上全部物理映像的集合称为该站点上的局部概念模式。
或者说,一个站点上的局部概念模式是该站点上所有全局关系模式在该站点上物理映像的集
合。
(8)局部内模式:是分布式数据库中关于物理数据库的描述,描述的内容不仅包含局部本站
点的数据的存储描述,还包括全局数据在本站点的存储描述。
1.4 什么是分布式数据库系统?它具有哪些主要特点?怎么样区别分布式数据库系统与只提
供远程数据访问功能的网络数据库系统?(分布式数据库系统的定义、特点详见课件第 1 章
4.1.课本 P6)
分布式数据库系统:物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制
又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库
系统。分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。
特点:物理分布性、逻辑整体性、站点自治性、数据分布透明性、集中与自治相结合的控制机制、存在适
当的数据冗余度、事务管理的分布性。
1.6 用自己的语言解析“什么时候需要进行数据分片和数据复制”?(课本第 10,11 页)
数据分片又称数据分割、数据分段,局部数据库是由全局数据库分割而成;全局数据库 是由各个局部数
据库逻辑组合而成。一个关系描述了某些数据之间的逻辑相关性,不同站点的用户需要该关系中的元组可
能不同,需要对这个关系进行分割,并将 分割后得到的各部分元组,称为该关系的逻辑片段,存放在相
应的站点上。这样 处理各得其所,可以减少网络上的通信,提高系统的相应效率。
数据复制指分布式数据库中的数据根据需要将数据划分成逻辑片段,按某种策略把数据 分片所得的逻辑
片段分散地存储在各个站点上。全局数据有多个副本,每个站点都有一个完整的数据副本。系统可靠性高,
响应速度快,数据库恢复也较容易。但要保持各个站点上数据的同步修改,将要付出高昂的代价。
1.7 在分布式数据库系统中,为什么要对数据进行分片?什么是关系的片段?关系的片段有哪
些主要类型?(课本第 9-10 页。
数据分片又称数据分割、数据分段,局部数据库是由全局数据库分割而成;全局数据库 是由各个局部数
据库逻辑组合而成。一
个关系描述了某些数据之间的逻辑相关性,不同站点的用户需要该关系中的元组可能不同,需要对这个关
系进行分割,并将 分割后得到的各部分元组,称为该关系的逻辑片段,存放在相应的站点上。这样 处
理各得其所,可以减少网络上的通信,提高系统的相应效率。
数据分片是指数据存放单位不是全部关系,而是关系的一个片段。也就是关系的一部分。包括:
(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为
关系的一个片段。 (2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上
做投影运算,每个投影为垂直分片。 (3)混合型分片:将水平分片与垂直分片方式综合使用
则为混合型分片。 )
1.8 为什么说分布式数据库系统中,数据独立性这一目标比集中式数据库系统更为重要,也更
为复杂?(详见课本第 25 页第二段)
1.9 概述分布式 DBMS 的参考模型中,用户处理器、数据处理器、全局数据库控制和通信子系
统的组成和功能。(组成(参考模型):详见课件 5.6;功能:用户处理器课本第 18 页;数据
处理器课本第 20 页;全局数据库控制和通信子系统课本第 21 页)
用户处理器:
用户结
果
用 户 处 理
用户命
令
用户结果
格式化器
外部模式
概念模式
规范化
数据
用户命令
翻译器
规范化
命令
约束实施器
规范化
命令
用户处理器的功能一是它把数据操纵语言中的用户命令,翻译成规范化命令。;二是它把来自
数据处理器的数据,翻译成用户理解的格式。
数据处理器::数据处理器负责存取数据库的数据,数据处理器的组成主要包括:规范化命令
翻译器、规范化结果格式器和运行时支持处理器。
全局数据库控制和通信子系统的组成和功能:全局数据库控制和通信子系统负责通信和控制
分布式的执行。
由多个处理器组成:
1. 分解器:分解器由一个或几个数据处理器组成,主要任务是把来自用户处理器的请求,翻
译成一个由若干命令组成的分布式执行策略。
2. 合并器:它的任务是在提交给用户处理器之前,把分布式执行策略访问不同站点所得到的
结果数据组合起来。
3. 分布式执行监视器:负责分布式执行策略的正确执行以及保证分布式环境中事务的原子
性。同时还负责提供复制独立性和分布式并发控制。
4. 通信子系统:提供站点之间的信息传送。每个站点都有一个通信处理器,与此通信子系统
相接口。通信处理器使用一组通信协议来正确利用通信设施和为分布系统提供无错的和可
靠的通信。
5. 本地执行监视器:负责在本地数据处理器中,执行该分布式执行策略中与本站点有关的部
分。当执行策略的某一部分在该数据处理器中完成执行,或出现故障时,就由它来通知全
局执行监视器。
1.10 分布式数据库系统潜在的优点是什么?存在哪些技术问题?(优点:详见课本第 34-35
页共 6 点;技术问题详见课本第 35-36 页面共 7 点)
优点:
1. 良好的可靠性和可用性
2. 提高系统效率,降低通信费用
3. 较大的灵活性和可伸缩性
4. 经济性和保护投资
5. 适应组织的分布式管理和控制
6. 数据分布具有透明性和站点具有较好的自治性
技术问题:
1. 如何控制数据的分片、分布与冗余度
2. 如何实现异构数据库的互联(P.36)
3. 如何优化分布式数据库的查询处理(P.36)
4. 如何更好地实现分布式数据库的更新处理(P.36)
5. 如何实现分布式数据库的并发控制机制(P.36)
6. 如何实现分布式数据库的恢复控制机制(P.36)
7. 如何实现目录管理(P.36)
2.1 概述分布式数据库系统的创建方法、方法特点和适用范围
答:创建方法有:组合法、重构法
第二章课后习题
组合法的特点:剖析网络功能;剖析原有数据库系统;解决数据的一致性、完整性和可靠
性;难度较大;
组合法适用范围:通常是异构或者同构异质 DDBS
重构法的特点:根据实现环境和用户需求;按照 DDBS 的设计思想和方法;从总体设计做
起,包括 LDBS,重新建立一个 DDBS;可有效解决数据一致性、完整性和可靠性问题。
重构法的适用范围:通常是同构异质或同构同质 DDBS
2.2 分布式数据库设计的主要目标是什么?
1. 目标一:分布式数据库的本地性或近地性
2. 目标二:控制数据适当冗余
3. 目标三:工作负荷分布
4. 目标四:存储的能力和费用
2.3 概述分布式数据库设计的关键问题及解决方法
答:
关键问题:
1)数据的实际分布情况。访问的多个数据对象是存放在同一站点上还是分布在多个站点
所需的时间和费用有很大区别。
2)数据对否被复制、复制副本的多少问题
3)数据分片、片段如何复制、数据或片段如何分布、分布式数据库管理系统的透明性
解决方法:
1)分布式数据库遵循本地性或近地性,尽量减少通信次数和通信量,90/10 准则,分片和分
布方案(本地和远程访问次数)择优;90%的数据应当在本地站点找到,而只有 10%的数据需
要在远程站点上进行访问。也即最有效的设计是确保数据对最大数目的应用具有本地性。可以
采用的设计方法是对每一种可供选择的分片方法和片段的分配方法都统计出本地访问和远程
访问的次数,然后从其中选择一个最佳的方案。