局部数据:只提供本站点的局部应用所需要的数据。全局数据:虽然物理上存储在个站点上,但是参与全局应用。局部用户:一个用户或一个应用如果只访问他注册的那个站点上的数据称为本地或局部用户或本地应用;全局用户:如果访问涉及两个或两个以上的站点中的数据,称为全局用户或全局应用。全局外模式:是全局应用的用户视图,也称全局视图。从一个由各局部数据库组成的逻辑集合中抽取,即全局外模式是全局概念式的子集。全局概念模式:描述分布式数据库中全局数据的逻辑结构和数据特性,是分布式数据库的全局概念视图。分片模式:描述全局数据的逻辑划分。每个全局关系可以通过选择和投影的关系操作被逻辑划分为若干片段。分片模式描述数据分片或定义片段,以及全局关系与片段之间的映像。这种映像是一对多的。分配模式:根据选定的数据分布策略,定义各片段的物理存放站点,即定义片段映像的类型,确定分布式数据库是冗余的还是非冗余的,以及冗余的程度。如果一个片段分配在多个站点上,则片段的映像是一对多的,分布式数据库是冗余的,否则是不冗余的。局部概念模式:是全局概念模式的子集。全局概念模式经逻辑划分成一个或多个逻辑片段,每个逻辑片段被分配在一个或多个站点上,称为该逻辑片段在某个站点上的物理映像或称物理片段。局部内模式:是分布式数据库中关于物理数据库的描述,描述的内容不仅包含局部本站点的数据的存储描述,还包括全局数据在本站点的存储描述。2.什么是分布式数据库系统?主要特点?物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统。分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。(1)物理分布性(2)逻辑整体性(3)站点自治性(4)数据分布透明性(5)集中与自治相结合的控制机制(6)存在适当的数据冗余度(7)事务管理的分布性1987年提出12条规则:(1)本地自治性(2)不依赖于中心站点(3)可连续操作性(4)位置独立性(5)数据分片独立性(6)数据复制独立性(7)分布式查询处理(8)分布式事务管理(9)硬件独立性(10)操作系统独立性(11)网络独立性(12)数据库管理系统独立性区别分布式数据库系统与只提供远程数据访问功能的网络数据库系统:分布式数据库系统中的数据是物理分布在用计算机网络连接起来的各个站点上;每一个站点可以使一个集中式数据库系统,而且都有自治处理的能力,完成本站点的局部应用;而每一个站点上的数据并不是互不相关的,它们构成一个逻辑整体,统一在分布式数据库管理系统的管理下,共同参与并完成全局应用,而且,分布式数据库系统中的这种“分布”对用户来说是透明的,也就是说,本地与远程结合的“接缝”是被隐蔽的,用户应该完全感觉不到远程与本地结合的接缝的存在,即“一个分布式系统应该看起来完全像一个非分布式系统”。这是分布式数据库系统的定义,也是区分一个系统是否为真正意义上的分布式数据库系统的主要依据。在分布式数据库系统中,为什么要对数据进行分片?什么是关系的片段?主要类型?原因:减少网络上的通信,提高系统的相应效率数据分片是指数据存放单位不是全部关系,而是关系的一个片段。也就是关系的一部分。包括:(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。(3)混合型分片:将水平分片与垂直分片方式综合使用则为混合型分片。5.为什么说分布式数据库系统中,数据独立性这一目标比集中式数据库系统更为重要,也更为复杂?分布式数据库系统中,数据独立性这一目标比集中式数据库系统更为重要,也更为复杂。数据独立性是数据库技术追求的主要目标之一。除了数据的逻辑独立性与数据的物理独立性之外,还有数据的分布独立性,也称为分布透明性。所谓数据分布独立性:指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况,以及各站点上数据库的数据模型等。也就是说,全局数据的逻辑分片、片段的物理位置分配、各站点数据库的数据模型等情况对用户和用户程序透明。分布式数据库系统的优点:(1)良好的可靠性和可用性(2)提高系统效率,降低通信费用(3)较大的灵活性和可伸缩性(4)经济性和保护投资(5)适应组织的分布式管理和控制(6)数据分布具有透明性和站点具有较好自治性分布式数据库系统的问题:最重要的问题是通信网络速度问题(1)如何控制数据的分片、分布与冗余度(2)如何实现异构数据库的互联(3)如何优化分布式数据库的查询处理(4)如何更好地实现分布式数据库的更新处理(5)如何实现分布式数据库的并发控制机制(6)如何实现分布式数据库的恢复控制机制(7)如何实现目录管理分布式数据库的创建方法、方法特点和适用范围。(1)组合法:一种自底向上(bottom-up)的创建方法。适用范围:采用组合法的分布式数据库系统通常是异构或者同构异质DDBS。(2)重构法:按照分布式数据库系统的设计思想和方法,从总体设计做起。适用范围:采用重构法创建的分布式数据库系统,通常是同构异质或同构同质DDBS。大多选择同构型分布式数据库系统。2.2分布式数据库设计的目标:除包括集中式数据库设计中的目标外,还包括:目标一:本地性或近地性目标二:控制数据的适当冗余目标三:工作负荷分布目标四:存储的能力和费用2.3概述分布式数据库设计的关键问题及解决方法。关键问题:(1)访问的多个数据对象是存放在同一站点上还是分布在多个站点所需的时间和费用有很大区别。(2)数据对否被复制、复制副本的多少问题(3)数据分片、片段如何复制、数据或片段如何分布、分布式数据库管理系统的透明性解决方法:1)分布式数据库遵循本地性或近地性,尽量减少通信次数和通信量,90/10准则,分片和分布方案(本地和远程访问次数)择优;(2)控制数据适当冗余,冗余增加了可靠性、可用性,提高了效率,维护数据一致性开销增加(3)工作负荷分布(4)存储能力和费用2.5阐述分布式数据库设计的自顶向下和自底向上设计方法及其使用范围。(1)自顶向下:从概念设计到形成规格说明设计分布式数据库。适用范围:通常是同构异质或同构同质DDBS。(2)自底向上:通过聚集现存数据库来设计分布式数据库。适用范围:通常是异构或者同构异质DDBS。2.6数据分片基本准则?数据分片有哪些基本类型和方法(1)完备性原则:要把所有的数据映射到各个片断中(2)可重构原则:关系分片后的各个片断可重构整个关系(3)不相交原则:关系分片后的各个片断不能重叠。分片方法:水平分片,垂直分片,混合分片2.7为什么说在关系型分布式数据库中使用导出式水平分片,使关系之间的连接变得更加容易?试举一例。原因:可将连接条件代之以子查询,从而使它变为一般的判别条件。(全局关系的导出式水平分片不是以其自身的属性性质为基础,而是从另一个关系的属性性质或水平片段推到出来的。)设全局关系SC(S#,C#,GRADE),S(S#,SNAME,AGE,SEX)若要将SC划分为男生的各门课成绩和女生的各门课成绩,这就不可能从SC本身的属性性质来执行选择,必须从关系S的属性性质或水平片段导出。definefragmentSC1asselectSC.S#,C#,GRADEfromSC,SwhereSC.S#=S.S#andSEX='M'definefragmentSC2asselectSC.S#,C#,GRADEfromSC,SwhereSC.S#=S.S#andSEX='F'如果S已经进行水平分片,分为SF和SM,分别为男生全体和女生全体,则上述的片段定义可以给予片段SF和SM导出:definefragmentSC1asselect*fromSCwhereS#in(selectSF.S#fromSF)definefragmentSC2asselect*fromSCwhereS#in(selectSM.S#fromSM)使用导出式水平分片,使关系之间的连接变得更加容易。即可将连接条件代之以子查询,从而使它变为一般的判别条件。2.8DATAID-D方法的分布式数据库设计与传统的集中式数据库设计在步骤和内容上有什么不同?DATAID-D是作为集中式数据库设计DATAID-1方法论的扩充而构造的,DATAID-1方法分成四个阶段:需求分析、概念设计、逻辑设计和物理设计。DATAID-D要求对其增加两个阶段:分布要求分析阶段和分布设计阶段。分布要求分析阶段位于概念设计阶段之后进行,主要工作:1.收集用户分布要求信息2.水平分片的划分谓词3.每一应用在各站点激活的频率分布设计阶段在全局逻辑设计之后进行,主要工作:(1)分布要求和全局逻辑模式作为输入(2)形式为全局数据库模式和逻辑访问表(3)输出为分片模式和分配模式3.1概述分布式查询优化与集中式查询优化的异同。分布式查询和集中式查询的相同点即在本地的CPU和I/O代价,不同点为分布式查询比集中式查询多了通讯代价。在集中式数据库系统中,查询优化的目的在于为每个用户查询寻求总代价最小的执行策略。通常,总代价是以查询处理期间的CPU代价和I/O代价来衡量的。由于集中式数据库系统大都运行在单个处理器的计算机上,要达到使总代价最小的查询优化目的,就意味着要尽可能降低I/O代价,使查询的响应时间最短。在分布式数据库系统中,一个查询可能涉及多个站点,通常以两种不同的目标来考虑查询优化。一种目标是以总代价最小为标准,除了如集中式数据库系统一样考虑CPU代价和I/O代价之外,总代价还包括通过网络在站点之间传输数据或信息的代价。这是由于分布式数据库系统中数据是分布和冗余,使得查询处理中,一般需要考虑站点间传递数据和信息所需要的通信费用,它会引起查询总代价的增加。另一种目标是以每个查询的响应时间最短为标准。因为,分布式数据库系统是由多台计算机组成的系统,数据的分布和冗余也增加了查询的并行处理的可能性,从而可以缩减查询处理的响应时间,加快查询处理速度。在分布式查询优化中,常同时使用这两种标准,根据系统应用的不同,一种作为主要标准,另一种作为辅助标准。可以先找到一个总代价最小的执行方案,然后在总代价不增加的条件下修正方案使得响应时间也尽可能的短3.2试述分布式查询优化的层次结构。•查询分解•数据本地化•全局优化•局部优化3.3基于关系代数等价变换的查询优化算法的原理与步骤。基本原理:1.把查询问题转化为关系代数表达式;2.分析得到查询树;3.进行全局到片段的变换得到基于片段的查询树;4.利用关系代数等价变换规则的优化算法,尽可能先执行选择和投影操作,后执行连接和合并操作;5.对该查询树进行优化,从而达到查询优化的目的。优化算法:连接操作和合并操作尽可能上提(树根方向);选择操作和投影操作尽可能下移(叶子方向);尽可能先执行选择和投影操作,后执行连接和合并操作。经过选择和投影操作不但可以减少其后操作量,还可以减少操作次数。实现步骤和方法1.将一个查询问题转换成关系代数表达式。2.从关系代数表达式到查询树的变换:对一个关系代数表达式进行语法分析,可以得到一棵语法树(或查询树),即查询树根节点是最终的查询结果,叶子节点是查询涉及的所有关系或片段,中间节点是按关系代数表达式中的操作顺序组成的一组关系操作符。3.从全局查询到片段查询的变换:把基于全局关系的查询树中的全局关系名,用其重构该全局关系的各个片段名替换,变换成相应片段上的查询树。4.利用关系代数等价变换规则优化算法,对片段的查询树进行优化处理,最后达到优化查询目的。3.4基于半连接算法查询优化的基本原理和适用情形。基本原理:(1)采用半连接操作的分布式查询处理是在从一个站点传送关系到另一个站点做连接之前,先除去那些与连接无关的数据,减少做连接操作的关系中的数据量,从而减少站点间数据的传输量,减少传输的代价。(2)如果只需要一个关系中一小部分元组参与和另一个关系连接的话,这是一个使数据传输量最小化的非常有效