【数据库系统课件】分布式数据库new_第1页
【数据库系统课件】分布式数据库new_第2页
【数据库系统课件】分布式数据库new_第3页
【数据库系统课件】分布式数据库new_第4页
【数据库系统课件】分布式数据库new_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分布式数据库第一章 概述数据库系统是针对文件系统缺乏数据共享和对数据的集中统一管理而提出的。数据库对数据的管理具有持久性、有效性和共享性的特点,极大地减少了数据的冗余,消除了数据不一致性的隐患,提高了存储和查询效率,这是数据库系统被众接受的关键。数据库系统对分散的各自独立而又有共享要求的数据,进行集中统一的管理,并用统一的描述使分散在各处的应用数据相对地集中到一个数据库中,这将消除文件系统中存在的弊端。然而,开始阶段来不及重视的地域分散的特定需求,由于过分集中又产生了不协调。随着计算机技术的发展、新领域的涌现和实用化的进展,人们期望着符合现实需要的、能处理分散地域的、具备数据库管理特点的新的数

2、据库系统的出现。这样,分布式数据库系统被提出来。计算机网络虽然可以实现地域分散的情况下的数据传输,以达到数据共享的目的,但它只是全文件的复制,缺乏对数据的管理。因此,人们设想以“数据库系统+计算机网络”来实现分布式数据库系统,既达到对数据的集中管理与共享,又能使地域的分散性被系统隐蔽起来。如银行与其分行、分理处对业务处理的要求。11分布式数据库系统定义分布式数据库系统(Distributed Data Base System,缩写DDBMS)是面向地理上分散、而管理上又需要不同程度集中管理的企、事业单位提供数据管理的信息管理系统。严格定义:分布式数据库是一组数据集,逻辑上它们属于同一系统,而物

3、理上它们分散在用计算机网络连接的多个场地上,并统一由一个分布式数据库管理系统管理。与数据库系统+计算机网络的简单结合不同:1) 每个节点(Node)都装有数据库系统,可以共享,但没有统一的管理。使用外场地(Site)的数据时必须指明场地位置。2) 如果只在计算机网络中某一场地设置数据库系统,其它场地不设,达不到数据分散存储的目标。分布式数据库系统包括两个重要的成分:分布式数据库(Distributed Data Base,DDB)和分布式数据库管理系统(Distributed Data Base Management System,DDBMS)。分布式数据库是计算机网络环境下各场地或节点上(分

4、布性,数据不是存放在单一场地为单个计算机配置的存储设备上,而是按全局需要将数据划分成一定结构的数据子集,分散地存储在各个场地或节点上)数据库的逻辑集合(逻辑协调性,各场地上的数据子集,相互间由严密的约束规则加以限定,而在逻辑上是一个整体)。为了区别,称传统方式下的数据库系统为集中式数据库系统(DB),称分布式数据库系统中的各场地数据库为局部数据库(Local DB,LDB)。实际上,基于以上两特性(分布性、逻辑协调性)的DDB,是虚拟的、逻辑的,即是由许多LDB逻辑组织而成的,是针对于全体用户的全局数据库,故又称分布式数据库为全局数据库(Global DB,GDB),它是虚设的,只有局部数据库

5、LDB才是物理的数据库(真正面向用户的数据库)。分布式数据库管理系统和集中式数据库管理系统一样,是分布式数据库系统中的一组软件,负责管理分布环境下逻辑集成数据的存取、一致性、有效性、完整性等。同时,由于分布性,在管理机制上还必须具有计算机网络通讯协议上的分布管理特性。因此,比集中式数据库管理系统更加复杂。由于各个LDB可能使用不同的数据模型,如关系型、网络型、层次型等。所以,为了使用户得到统一的数据,一般情况下,分布式数据库系统使用统一的数据模型,将各局部数据库经过转换一致起来。12分布式数据库系统的特点分布式数据库系统是数据库系统的新类型,因此具有集中式数据库系统的特点。同时,由于其分布性,

6、又使这些特点具有不同的含意。1 共享性与自治性在分布式数据库系统中,多个场地或节点的局部数据库在逻辑上集成为一个整体,并为分布式数据库系统的所有用户使用,这种应用称为分布式数据库的全局应用,其用户为全局用户;同时,分布式数据库系统还允许用户使用本地的局部数据库,这种应用为局部应用,其用户即为局部用户。甚至局部用户所使用的数据可以不参与到全局数据库中去,这种局部用户独立于全局用户的特性即是局部数据库的自治性。由于自治性,对于场地来说有两种数据,一种是参与全局数据库的局部数据,而另一种则是不参与全局数据库但又为本地共享的场地数据。前者称之为LDB,而后者称为场地私有数据库(PvDB),这种应用和集

7、中式数据库的应用基本一致。由此便产生了PvDB转换为LDB,以及由LDB转变为PvDB的要求。而它们实际上是由不同的数据库管理者(DBA)加以控制的,从而形成了分布式数据库的两级管理者:全局数据库管理者(DBA)和局部数据库管理者(LDBA)。2 冗余的可控性将数据组织在数据库中以便数据共享,为此要尽量减少数据冗余,这不仅使存储代价降低,而且还可提高查询效率,便于数据一致性维护,这是数据库优于文件系统(FS)的特点之一。但对数据库而言,不可能达到绝对的无冗余数据。对于分布式数据库来说,由于数据存储的分散性,各场地在网上传输数据,使得与集中式数据库相比,查询响应中增加了传输代价。因此,分布式数据

8、库中数据一般存储在经常使用的场地上,但这并不排除有二个以上的场地应用对同一数据有存取要求,而且当传输代价高于存储代价时,可以将同一数据冗余存储在两个(甚至更多)场地上(复制式),以节省开销。另外,有多副本存储,对系统的可用性亦可提高,即当系统中某个节点故障时,由于有其它副本在非故障场地上,所以对其它所有场地来说都是可用的,而且保证数据的完备性。此外,可用副本(可以访问)的存在也相应地提高了自治性性能。这种冗余(副本)由于是在系统控制之下的,所以不会给系统造成很大的影响。除了增加系统存储外,同时也使系统的完整性、一致性控制的代价上升,实现技术也则困难。因此可控的冗余性选择,要根据特定系统的实际需

9、要和性能要求而定,不可能给出一个统一的评价标准。3 事务管理的分布性分布式数据库系统的事务管理,由于数据的分布必使得事务也具有了分布性,即一个事务(全局事务)的执行将划分成在许多场地上执行的子事务(局部事务),子事务的执行结果合并而成全局事务的结果,这样的事务即为分布事务。例11某银行对地处不同场地上的两个帐户转移资金。集中式数据库AB(100)T:AA-100,BB+100分布式数据库设A和B在不同场地,且A在S1、S2各有一副本,B在S3、S4各有一副本,用户请求在S5。结果也返回至S5。 AB(100)T1,T2:AA-100,T3,T4:BB+100T5返回结果,或结束消息4 存取效率

10、对于集中式数据库来说,层次方法、网络方法是以导航方式处理查询请求的,因此其效率由于查询语言的过程性,有时要靠用户的程序优化加以保证;关系方法由于支持非过程性查询语言,则是以合理的存储方式以及查询的“优化”处理部件解决查询效率的。在分布式数据库系统中,全局查询被分解成等效的子查询,即全局查询执行计划分解成多个子查询执行计划加以执行。是根据系统的全局优化策略产生的,而子查询计划又是在各场地上分布执行的。因而,分布式数据库系统中查询优化以两级进行,全局优化和局部优化。全局优化主要决定在多副本中选取适当的场地副本,使场地间的数据传输量以及次数最少,从而使系统通信开销少。局部优化则与传统的数据库方式相同

11、。5 数据模型在分布式数据库系统中,DDB是一个逻辑的、虚拟的数据库(被称为全局数据库,GDB)和实际分布在各场地的局部数据库(LDB,物理的、实际存储的数据库)这样两级数据库组成。全局数据模式描述全局数据库,即一个企业或事业单位(其组织机构在地理上实际是分散存在的)信息。局部数据模式描述各场地的局部数据库,而这些是实际存储的。系统将数据库划分为四层:全局外层(即用户层)、全局概念层、局部概念层和局部内层。6 数据独立性数据独立性的基本含意是应用程序与实际的数据组织相分离,即所谓的系统透明性(只有关系方法得到了较好效果)。在关系方法中有二级数据独立级别:逻辑数据独立性和物理数据独立性。在分布式

12、数据库系统中,由于分布性的存在,使得分布数据独立性的要求更加丰富也更加复杂,有时也称之为分布透明性。全局用户所看到的是全局数据模型的描述,对各场地的局部数据模型的描述不必关心。全局的数据模型转换成局部的数据模型的过程由系统自动完成,这就是系统透明性。用户对所需数据的存放位置不必关心,可以象使用集中式数据库一样,认为他所使用的数据就存放在本场地,而实际的物理位置由GDBA在系统设计时决定,并在数据字典中记录存放位置的对照表,当用户使用非本场地数据时,由系统自动调用该表并查找出所需数据的物理位置。使用户不必考虑数据的存放位置,而只要了解该数据确实存在即可,因此,不论是应用的改变还是实际数据驻留场地

13、的变化,都不影响用户访问数据。这就是所谓的分布式数据库的位置透明性。是物理数据独立的一种扩充。对关系而言,可以使用选择和投影等操作将关系划分成许多子关系,而使用联接操作则可使这些子关系合成为原关系,这时原关系的信息不会丢失也不会增加。每个子关系就是原关系的一个分片。若对所有的应用都不必了解分片的任何细节,对DDB的操作只针对用户所关心的视图,而这视图可能是由若干子关系(即分片)组成的,其合成也是由系统完成的,这即是分片透明性。是DDB对逻辑独立性的一种扩充。既然DDB支持重复副本,则亦应支持重复副本透明性。重复副本的最小单位应是分片的片段(即子关系)。因此用户在使用时不必了解有多少个副本,只有

14、指明所用的数据即可。如果分布式数据库实现了所有上述的各种透明性,用户使用分布式数据库就完全象使用集中式数据库一样了。13分布式数据库系统的环境所谓节点,是指具有主动处理能力的单一计算机(包含那些有多个终端或远程终端)的部分;而场地则是由多台计算机组成的节点。节点应包括一定的硬软件成分。大型节点,具有计算机基本支持软件,如操作系统(支持用户和数据库的进程管理)、局部数据库管理系统(LDBMS,负责本节点的数据管理)、全局数据库管理系统(GDBMS,负责全系统的数据管理)、通讯软件(负责节点与网上其它节点的通讯)、其它应用程序软件等。小型节点,只需要具有通讯软件对本节点数据的存取。节点状态:联网状

15、态(正常工作、发送命令、完成某种调度)、离网状态(非联网状态,故障离网、维修离网等)。网络通讯协议。ISO/OSI七层参考模型:物理层:规定物理链路上的通讯方式;数据链路层:规定通讯子网用的网络接口间的通讯方式;网络层:选择多个通讯子网络,即进行路径控制;传输层:实现源至目的地之间的虚拟的点到点的可靠通讯;会话层:提供逻辑上易使用的通讯接口;表示层:处理不同数据表示形式的转换;应用层:表现网络的基本功能。14分布式数据库系统的分类及问题141分布式数据库系统的分类没有标准的定义。从局部数据库的异同上加以划分。以构造相同(构成局部数据库的数据模型相同)的局部数据库组成的分布式数据库称为同构的;而

16、相异的称为异构的分布式数据库系统。在同构的情况下,又有同质(同一公司的产品,或为同一数据库系统)和异质(非同种数据库系统)的划分,分别称为同构同质、同构异质。142异构分布式数据库系统的问题如何处理数据模型和语言的不同?最简便的办法是将其统一成一个公共模型和公用语言,每个局部数据库数据模型和DML都映射至公共数据模型和语言的等效表示和原语。1) 模型转换语义等价性,是说转换前模型的语义内容全部不多不少地映射到公共模型上,反之亦如此;2) 实例的相等性,是说二者的指的事实(对象)完全是同一事实(对象),而不是其它。3) (附加)程序转换等价性,即对任何输入而言只能有唯一的等效输出。冲突:1) 名

17、字冲突。包括同名异义(非同一对象)和异名同义。2) 标量冲突。涉及使用不同单位的量度。3) 数据类型和长度、精度不同。4) 模式的语义抽象程度不同。一个查询请求的某些功能在其它节点花费较高代价或者不能执行,需将数据的超集送往始发节点,此代价比集中式数据库性能更差。仔细地选择分布信息和数据,防止分布式数据库性能变差的趋势。更新处理如何保证数据的一致性实施本地数据库的更新操作。143同构分布式数据库系统的问题问题大同小异,程度有别而已。144语言转换转换的正确性和效率(数据类型匹配、数据长度不一致、精度不一致)。15分布式数据库系统的研究现状及应用第二章 分布式数据库系统体系结构21分布式数据库模

18、式结构及分布式数据库无统一标准。四层模式:全局外层(或称全局视图)、全局概念层、局部概念层和局部内层。在各层间还有相应的层间映射。视图视图视图全局概念模式局部概念模式分片模式局部内模式局部内模式分配模式局部内模式局部概念模式局部概念模式全局外层全局概念层局部概念层局部内层图2-1 分布式数据库结构图1全局外层分布式数据库的全局外层如同集中式数据库一样,由多个用户视图(简称视图)组成,是分布式数据库特定的全局用户对分布式数据库的最高层抽象。分布式数据库与集中式数据库的视图有同样的概念,不同的只是,它不是从某一个具体的场地上的局部数据库中抽取,而是从一个虚拟的上各局部数据库逻辑集合中抽取。对全局用

19、户而言,在所有分布式数据库的各个场地上都可以认为所有的数据库都在本场地,而且他们只关心他们自己所使用的那部分数据。2全局概念层全局概念层是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构。就象集中式数据库中概念视图一样,是对数据库的全体的描述。但在分布式数据库中,分布式数据库全局概念层应具有三种模式描述信息:1) 全局概念模式(逻辑结构定义)。描述分布式数据库全局数据的逻辑结构,包含全局概念模式名、属性名、每种属性的数据类型定义和长度。2) 分片模式(逻辑分布定义)。描述全局数据的逻辑划分视图。是全局数据逻辑结构根据某种条件的划分,即成为局部的逻辑结构。每一个逻辑划分即是一个片段或称分片。

20、3) 分配模式(物理分布定义)。描述局部逻辑的局部物理结构,是划分后的片段(或分片)的物理分配视图。分布式数据库的定义语言除了提供概念模式的定义语句外,还必须提供分片模式和分配模式的定义语句。全局模式与分片模式之间有一对多的映射关系,即一个全局概念模式有若干个分片模式与之对应。分片模式和分配模式之间是一对多的映射关系,也可以是一对一的映射关系,这由数据分布的冗余策略决定。当一对多时,表明分片数据有多个副本存储在不同的场地,且同一场地一般情况下不允许有相同的副本存在。当一对一时,则是非冗余的,即分片数据只有一个副本。关系型分布式数据库描述全局概念层将是,全局概念模式由一组全局关系模式的定义组成;

21、分片模式是对全局关系模式的逻辑划分定义,即片段定义,或子关系模式定义组成,所以可以将片段看作是全局关系的逻辑组成,即逻辑片段;分配模式是对子关系模式的描述,决定了子关系的物理场地,即决定子关系的物理片段。从全局概念层观察分布式数据库,它定义了全局数据的逻辑结构、逻辑分布性和物理分布性,但并不涉及全局数据在每个局部场地上的物理存储细节。所以仍然是概念层视图,或全局DBA视图。因而,全局DBA将负责数据结构定义、逻辑分布定义、物理分布定义。3局部概念层局部概念层由局部概念模式描述,是全局概念模式的子集(特殊情况下可能是全集),全局概念模式经逻辑划分后被分配在各局部场地上。在分布式数据库局部场地上,

22、对每个全局关系的有该全局关系的若干个(可允许是全部)逻辑片段的物理片段集合,该集合是一个全局关系在某个局部场地上的物理映射,其全部则组成局部要领模式。如果两个场地上的所有物理映象都相同,则其中一个必是副本,两个场地的局部概念模式亦相同。如果分布式数据库只支持全局应用,则局部概念模式可理解为局部数据库的概念模式和外模式(在此情况下,外模式与概念模式全同)。如果分布式数据库还支持局部用户,而局部用户定义的局部数据不参与分布式数据库的全局数据,则局部概念层还应划分为局部外模式和局部模式,并且由局部DBA描述,这些将不属于全局概念模式。此时,全局数据和局部数据的管理分别由全局DBA和局部DBA管理。局

23、部用户是否可以使用全局数据由全局DBA授权,局部DBA只能对局部数据进行授权。当全局数据模型一局部数据模型不同时,则物理映象与各局部数据库的数据模型之间还必须有数据模型的转换。即使是数据模型相同时,也可能有数据类型和格式的各种转换。也就是说,各局部数据库是多种数据模型构成的数据库时,在组成分布式数据库时有一个统一的全局描述问题,即数据模型的同种化的集成;而对于不同的规格化的统一,则称为一体化。这就是分布式数据库中的全局概念层到局部概念层的映射模式的描述。4局部内层局部内层是分布式数据库中关于物理数据库的描述,相当于集中式数据库的内层。其描述的内容和方法与之大致相同。总之,分布式数据库四层结构及

24、其模式定义和映射关系,体现了分布式数据库是一组用网络联接的局部数据库的逻辑集合。具有以下特点:1) 全局数据库与局部数据库分开。全局数据库是虚拟的,全局DBA的视图由全局概念层定义,完全独立于各个场地的局部数据库;局部概念层和局部内层可看作是局部数据库,是全局数据库的内层。从全局数据库到局部数据库都是由映射模式解释,同构型较简单。数据模型转换的透明性。2) 全局概念层和局部概念层是分布式数据库的全局整体逻辑数据和局部整体逻辑数据的抽象。由于分布式数据库的分布特性决定了全局整体逻辑数据的抽象只有一个,而局部数据的逻辑抽象则是每个局部数据库各有一个。逻辑数据独立性和物理数据独立性。3) 在全局概念

25、层中,把数据的分片概念和数据的分配概念分别定义,从而把分布透明中的分片透明和分配透明相分离。所谓分片透明即用户完全只对全局关系操作,而不管关系如何在逻辑上划分成片段关系,在全局概念层把分片透明看作是最高程度的透明性。所谓分配透明,是较低级的透明,要求用户在片段上操作,不是在全局关系上的操作,但却不必考虑片段的存放位置,即对用户而言,在完全透明的情况下,系统支持由分片定义而选中所需的片段进行操作,并由系统选择出适当的场地执行,从而实现了用户的分布完全透明。这样,可在逻辑设计阶段考虑分片的划分要求,而在实现时才考虑数据分配问题。4) 分布式数据库还需进一步实现数据冗余控制。而冗余只在分配时才涉及并

26、提供了重复副本透明性。因此,系统还可提供比位置透明更低一级的透明性管理,即用户只要指定某个副本,系统对其它副本完成相应的操作,从而保证所有副本的完整性和可用性。22分布式数据库管理系统分布式数据库管理系统如同集中式数据库管理系统一样,是对数据库进行管理和维护的一且软件,是分布式数据库系统的重要组成部分,是用户与分布式数据库的接口。分布式数据库系统要保证共享性、分布性、安全性、完整性、可用性等方面功能,从而达到具有完全透明性和数据共享性的总目标。分布式数据库管理系统包括三个主要成分:全局数据库管理系统(GDBMS)、局部数据库管理系统(LDBMS)、通讯管理程序(CM)。分布式数据库管理系统应能

27、支持分布式数据库系统的四个基本功能:1) 应用程序的远程数据库操作(包括查询和更新操作)。2) 支持分布式数据库系统的完全或部分透明性(完全透明性的实现不仅有技术的复杂性,还有运行性能上的冲突)。3) 对分布式数据库(包括全局数据库和局部数据库)的管理和控制,因此除具有集中式数据库管理系统的功能外,还必须对各场地数据库提供映射,以便集中管理和控制。4) 支持分布事务的并发和恢复。1全局数据库管理系统(GDBMS)全局数据库管理系统负责管理分布式数据库(DDB)中的全局数据,由于全局数据的分布性,所以一般应具有以下五种功能:1) 链接。全局数据库管理系统是用户与局部数据库管理系统、用户与通讯管理

28、系统之间的接口。2) 定位和查找。将请求的数据转换成带有局部场地标志的数据,以供形成子分布执行计划时使用。请求的数据可能不只有一个场地可以满足(或者该数据有多个副本,或者请求的数据必须由多个场地数据加以合成),所以定位和查找都含有策略问题。3) 策略。对请示的处理对策(如多个副本时,有场地选择策略)。当请求涉及多个场地时,先将请求分解,决定请求中哪些数据在哪些场地上执行,根据最优方法决定一个操作执行序列。若请求包括更新操作时,则必须给出保证更新一致性(在多副本情况下)的执行序列。策略包括查询分解及优化策略、多副本同步或异步更新策略,同一数据项具有冲突操作时并发控制策略等。原则:网上传输量最少;

29、控制信息最少;利用分布性,增加并行处理能力,从而使响应时间最少。4) 面向全网的恢复能力。可用性高(一个场地的故障不会使整个分布式系统瘫痪)是分布式系统的优点之一。故障场地被隔离后,剩余部分组成的分布式系统应能正常运行。当事务所需数据有多个副本,该事务则应放弃该场地数据,以其它场地副本替代完成该事务,应由故障事务调度算法完成。另一种情况是事务的需数据只有一个副本,且在故障场地,这时事务只能中止,但系统应记载事务的执行状态,当场地故障恢复后,继续执行。如果多个并发执行的事务在运行时遇到故障,系统恢复要保证分布式数据库达到故障前的一致性状态,这就是所要求的分布恢复处理能力。5) 转换。负责全局数据

30、与局部数据之间的各个方向的转换。具体的转换有:数据模型的转换,同种化或一体化过程;数据集成,包括数据代码格式、字长、精度、单位等;操作命令;完整性规则;安全性规则;2局部数据库管理系统(LDBMS)是分布式数据库系统中各场地的数据库管理系统。在自治性强的场地,其功能将和集中式数据库管理系统一样。如果是作为分布式数据库管理系统的一个组成部分,在同构同质的情况下,其功能将弱化,模式和操作都无需转换,直接可操作执行;若场地数据库系统和全局系统不一致,则必须承担各种转换(根据映射)并执行。3通讯管理程度(CM)保证分布式数据库系统中场地间信息传送的部分。CM就是正确使用各种网络协议,为分布式数据库提供

31、正确而可靠的通讯服务。23分布式数据库系统结构分布式数据库系统和数据库系统一样,只是数据库系统的一种特殊形式,也是分布式系统的一种特殊形式。LDBLDBLDBGD/DGD/DGD/DLDBMSGDBMSCMCMGDBMSLDBMSCMGDBMSLDBMSComm. Network图2-2分布式数据库系统体系结构分布式数据库系统的组成:1) 多台计算机设备,并由计算机网络连接。2) 计算机网络设备,网络通讯的一组软件。3) 分布式数据库管理系统,LDBMS、GDBMS、CM。GDBMS提供全局用户的接口,LDBMS提供自治场地用户的接口。4) 分布数据库(DDB),包括全局数据库(GDB)、局部

32、数据库(LDB)和自治场地数据库(Site Autonomy DB,简称SADB)。5) 分布式数据库管理者(DDBA)。有二级,一级为全局数据库管理者(GDBA),另一级为局部或自治场地数据库管理者,统称为局部数据库管理者(LDBA)。6) 分布式数据库系统软件文档。这是一组一软件相匹配的软件文档及系统各种说明和文件。1分布式数据目录/字典系统在强调场地自治性时,有两部分组成:全局数据目录/字典和局部(场地)数据目录/字典。是分布式数据库系统中为数据资源管理而设置的系统,存放有关工作数据的描述及管理的相关信息(描述数据的模式定义、属性说明、授权、事务恢复日志等)。全局数据目录/字典系统由GD

33、BA建立并管理,局部数据目录/字典系统由LDBA和GDBA协调建立并管理。2分布式数据库管理者分二级。GDBA负责面向全局数据和信息的控制和管理,LDBA是面向GDBA和局部数据及信息的控制和管理(不强调场地自治时,即无场地用户,则LDBA作用不大,甚至可以不设置;而在强调时,特别当GDB与LDB需要转换时,则GDBA要与LDBA协调,并改变该数据的存储级别)。其职责是:1) 根据所有用户的要求决定各自数据库信息内容,以及各数据之间的关联,并由此决定全局概念结构或局部层(自治场地层)的概念结构。2) 给出各层次的模式定义和用户视图,并决定各级映射定义。3) 定义合法性检验级别、有效性核查规则。

34、4) 规定后援方法和恢复策略。5) 监视系统工作,并解决系统的时空效率。6) 修改系统结构。3通讯网络及通讯介质网络类型及通讯介质的不同使得网络的传输代价不同。24客户/服务器体系结构客户(Client)/服务器(Server)体系将DBMS功能与应用分开,专门用于执行DBMS的功能的计算机称数据库服务器(简称服务器),其他安装DBMS的外围应用开发工具、支持用户应用的称为客户机。在计算机网络中主要传送用户请求和处理结果,降低了网络负担。更开放,客户机和服务器可以适应多种不同的硬、软件平台。集中式:网络中只有一台数据库服务器,有多个客户机。分布式:网络中有多台数据库服务器,多个客户机。是客户/

35、服务器结构与分布式结构的结合。应用、开发工具位于客户机上,DBMS和数据位于服务器上,客户机与服务器通过专门的接口进行通讯。集中式结构中DBMS和数据集中在一台服务器上。分布式结构中DBMS和数据分布在多台服务器上,由DBMS负责、协调各局部数据的管理。所有的服务器形成一个统一的数据库整体面向用户。若将Client/Server结构用于DDBS,通常可将DDBMS分成三级:1) Server级,承担场地上的局部数据管理,类似于集中式的DBMS软件,或者是相当于LDBMS软件。2) Client级,承担分布功能(大部分功能,包括生成对多场地或事务查询的分布执行计划(DEP);对Server发出命

36、令后的管理、监督分布执行;当使用分布并发控制技术时,应保证全局事务的原子性;对数据的多副本应保证副本的一致性;承担有关透明性的任务,若具有分布透明,则不必了解数据分布细节,否则将指定场地位置)从DDBMS目录中存取分布信息,处理所有请求,而这些请求往往是对多个场地的请求。3) 通讯软件,有时它与分布式操作系统联系在一起,提供通讯原语,由Client使用,以便在各场地间传递命令或数据。Site 1ClientSite 2ClientSite3ServerSite nCommunication NetworkServer图2-3Client/Server结构Client/Server结构的出现无疑

37、对DDBS的应用是个推动,它有助于在原有DBS上形成一个分布式数据库结构,而对原有DBS不会有太大的影响。另外由于软件功能的分布,则使生产研制商易于在成熟的DBMS基础上生产出商用的DDBS的产品来。第三章 数据分布在构成分布式数据库系统的运行环境时,决策部门必须考虑数据如何分布在系统的各个场地(或节点)上,或者说,必须考虑构成分布式数据库系统所应用的各个组成部分各自如何使用数据(包括私有数据和公有数据,即共享数据)的问题。数据分布包括分布式数据库的逻辑划分和物理分配,以及用户对分布式数据库的划分或分配的感知程序(透明度)。所以,在分布式数据库系统中,同样存在着分布式数据库DDB的设计问题。这

38、就是数据分布要讨论的问题。31数据分布概念以关系模型为例,数据分布的描述分成两个步骤:先从逻辑上将全局概念模式,即全局关系模式,划分成若干逻辑片段(子关系);再按一定的冗余度将片段分配到各个节点上,这时逻辑片段就成为具体的物理片段。这就是数据分布的概念。DDB这种结构的建立是通过模式定义实现的。1全局关系模式及关系全局关系模式是一个多元组R(U,D,DOM,I,F,Q,S),其中R是关系名,U是组成R的有限属性集,D是U中属性的值域,DOM是属性列到域的所有映射的集合,I是一组完整性约束条件,F是属性间的一组数据依赖,Q是关系所满足的限定条件,是一谓词,S是关系的分布结构。一个关系r是相应于全

39、局关系模式R(U,D,DOM,I,F,Q,S)按分布结构S组织起来的从属性集U到值域D上的所有满足Q的映射的集合,其中每个元素称为元组。每个关系有主键KU。关系模式与关系是关系数据库中彼此密切相关且又有区别的两个概念。关系模式描述关系的结构及语义约束。对于全局关系模式,还具有按一定谓词条件Q划分成子关系(局部关系)模式和子关系物理存储模式的约束,为了把问题集中于数据分布,可以把全局关系模式简化成R(U,Q,S);关系则是关系模式在某一时刻的“当前值”。全局关系被划分后按分布结构组成子关系,以呈现现实世界某一时刻的状态。所有关系的当前值称为关系数据库。为了讨论方便,用R(U,Q,S)或关系名R表

40、示关系。2DDB中的三种关系全局关系。一个关系R(U,Q,S)称为全局关系(GR),指在分布式数据库系统中对用户是可见的。在DDB中,全局关系实际上是由若干子关系的逻辑片段和物理片段按分布结构S组成,具有Q=真(True),S的特点,且GR是虚拟的。逻辑片段。一个关系R(U,Q,S)称为逻辑片段,是指这个关系在DDB中是实际存在的关系,不需要由其它关系组成,因而它是基本关系,即是构成DDB的实体。它是全局关系在某个场地上的子关系的逻辑成分,所以逻辑片段可简称为GR的逻辑关系,而全局关系与逻辑关系间有一定的映射,用分片模式定义,它们之间的映射性质为1:n。物理片段。一个关系称为物理片段,指这个关

41、系是在某一场地上的逻辑片段,即是在某场地上的基本关系,其特点是S=。物理片段由分配模式定义。逻辑片段映射为某场地上的物理片段,亦可称为某个场地的副本,或直接称物理关系,其映射有1:1和1:n两种性质。因而一个逻辑关系可以对应一个物理关系,也可对应多个物理关系。DDB中的关系可分为全局关系、逻辑关系(基本关系)和物理关系三种。这三种关系之间的联系是:一个全局关系由分片操作(分片模式定义)分解成多个逻辑关系;一个逻辑关系在几个场地上放置副本(分配模式定义)就产生几个物理关系。这些分片信息和分配信息构成了全局关系的分布结构S。3DDB中的三种数据库全局(虚拟)数据库。由所有全局关系组成的数据库称为全

42、局(或虚拟)数据库GDB。逻辑数据库。由所有逻辑片段(基本关系)组成的数据库称为逻辑数据库LgDB。物理数据库。由所有物理关系组成的数据库称为物理数据库PDB。三种数据库之间的关系可表示如下:GDBLgDBPDB这里提到的“逻辑”、“物理”的含义,是DDB的全局概念层中的抽象。当用户查询或更新操作时只对虚拟的全局数据库,它并不实际存在,而是由若干“片段”组成的(或若干片段的并操作和自然联接操作实现的),这些片段映射为一个“物理关系”存在于物理数据库中。DDB中的三种数据库是通过分片模式定义和分配模式定义联系起来的。4分片模式(FS)定义分片模式FS定义为一组操作,它将GDB中每个GR分解成Lg

43、DB中的片段,即FS(GDB)=LgDB。这种操作还应具有可逆性,这是分布式数据库系统的基本要求。可逆用FS-1(LgDB)=GDB。5分配模式(AS)定义分配模式定义为一组操作,它将LgDB中每个逻辑关系映射到PDB中的一组物理关系上,即有AS(LgDB)=PDB。分配模式的逆操作用AS-1表示,其含义是从PDB中选择出适当的物理关系作为逻辑关系,从而LgDB,即有AS-1(PDB)=LgDB。6关系的分布结构S关系R(U,Q,S)的分布结构S是有关R被划分和分配的信息的集合。R如果是物理关系,那么它无需划分和分配,因此S=;R如果是逻辑关系,那么它还需要分配场地,因此S记载的是R的分配信息

44、;R如果是全局关系,那么S记载了R如何分解成逻辑关系和物理关系。在全局关系与逻辑关系之间,事实上还存在于DDB中,而只是起到从全局关系到逻辑关系的过滤作用。它的分布结构S同全局关系的一样,记载了如何分解成逻辑关系和物理关系。中间关系与全局关系有同样的性质,为了方便讨论,用一个统一的名称组合关系,来表示。7组合关系组合关系R(U,Q,S)是由若干逻辑关系和物理关系按分布结构S组成的关系。它可以是全局关系,或者也可以是中间关系。基本特点为S。32数据划分原则及分片方法数据划分是指将DDB的全局关系划分成相应的逻辑片段(逻辑关系)。划分是对DDB的一种分片操作。321分片操作原则分片时主要根据应用的

45、需要,首先按DDB外部特征进行划分,然后从DDB内部特征检查划分的正确性。1按DDB外部特征划分的原则外部特征指的是用户看到的DDB。DDB有一组用户,根据各自应用来看待DDB。按外部特征划分即按构成DDB的属性群集特性进行逻辑划分。一种是按数据值集进行划分,如按部门所在地(SCITY=London,SCITY=Paris)进行划分;一种是按数据项集进行划分,如财务部对TAX(税收)、SAL(工资)属性感兴趣,而人事部对WAGE(工龄)、MGR(所属领导)等属性感兴趣。2DDB内部特征DDB内部特征是指DDB的组成性质。当对DDB划分后,仍应保持DDB原有的性质,所以划分后的名逻辑关系之间应遵

46、守下列原则:1) 完整性原则。全局关系的所有数据项(属性)必须包括在任何一个片段中。2) 重构性原则。所有片段必须能重构(逆操作)成全局关系。通过重构操作才能建立全局数据库。3) 不相交原则。不相交原则不是必须的,但有这条原则可以使划分不致引起太复杂。划分是不相交,则分配的冗余可以得到控制。有时允许键属性相交,从而使重构操作简单(垂直分片中使用)。322分片操作在DDB中的关系有二类,一类描述实体,一类描述关联(联系)。所以,对于关系的划分,基本上也有二类,一类基于关系本身(实体)的划分,称为独立划分,有水平分片、垂直分片、混合分片;另一种是基于关联的,即一个关系的划分是基于另一个关系而被划分

47、,称为相关划分,有诱导分片。1水平分片水平分片是将关系按行横向(水平方向)以某些条件划分成元组的子集,每个子集含有一定的逻辑意义,称为一个逻辑片段。定义3.1 组合关系R(U,R,S)上的水平分片(H)是一操作,它将R按照一组给定的谓词P1,Pn划分成一组关系模式R1(U1,Q1,S1),Rn(Un,Qn,Sn),满足:1) U1=U2=Un=U;/子关系属性集不变2) K1=K2=Kn=K;/子关系键不变3) Qi=QPi;/子关系在原有条件基础上加新的谓词形成的条件4) Si=。/一层分布其中,i,j1,n,PiPj=, Pi=True(即P1P2Pn为真,即这些谓词中至少有一个为真),记

48、作R(H)=R1,Rn,式中P=P1,Pn。由定义可知,水平分片实际上是关系的选择操作。其中谓词的形式如“属性=值”,因此片段可以用q(R)表示。例:全局关系供应商Supplier(Sno,Sname,Scity)按供应商所在地Scity属性值划分。设有两个城市London和Paris,则其水平分片为:Supplier1=Scity=LondonSupplierSupplier2=Scity=ParisSupplier2垂直分片垂直分片是将关系按列纵向(垂直方向)以属性组划分成若干片段。在垂直分片时,为了保证片段的重构性,应将键属性属于各个片段中(放松的不相交性)。定义3.2 组合关系R(U,

49、Q,S)上的垂直分片(V)是一操作,它将R按照一组给定的属性A1,An划分成一组关系模式R1(U1,Q1,S1),Rn(Un,Qn,Sn),满足:1) K1=K2=Kn=K;/键属性相交2) Ui=Ai;/按属性划分3) Q1=Q2=Qn=Q;/关系条件不变4) K1(R1)= K2=Kn(Rn)= K(R);/键值相同5) Si=。/一层分布,没有子分布其中,i,j1,n,AiU,AiAj=K,Ai=U,记为R(V)=R1,Rn,式中A=A1,An。由定义可知,关系的垂直分片实际上是对指定属性集上的投影操作。所以,垂直分片片段是R的部分属性组合的子关系Ri,可用Ai(R)表示,其中KAi。例

50、:可将职员关系Emp(Eno,Ename,Sal,Tax,Mgr,Dno)划分成两个子关系:一个包括财务信息,只关注Sal和Tax;一个包括工作信息,关注Eno、Mgr和Dno。为了保证划分后的重构,将Eno作为公共属性分别包括在二个片段中。得到:Emp1=Eno,Sal,TaxEmpEmp2=Eno,Mgr,DnoEmp3混合分片混合分片是上述二类分片的内部混合。定义3.3 组合关系R(U,Q,S)上的混合分片(M)是一操作,它将关系按照一组属性A1,An和一组谓词P1,Pn划分成R1(U1,Q1,S1),Rn(Un,Qn,Sn),满足:1) Ui=Ai;/按Ai划分2) K1=K2=Kn=

51、K;/键相交3) Qi=QPi;/又按条件划分4) Si=。/一层分布其中,i,j1,n,AiU,AiAj=K,Ai=U,PiPj=,Pj=True,记为R(M)=R1,Rn,式中AP=|i=1,n。上述定义说明混合分片是水平分片和垂直分片的混合操作,即对关系的选择和投影。垂直分片和水平分片的先后次序可以视应用需要而定,重构时,需要按相应的次序做并(UNION)操作和联接(JOIN)操作。例:将Emp划分成Emp1、Emp2后,对Emp2可按部分号Dno进行划分,设Dno=1或2在一个片段中,而Dno=3在另一片段,则Emp可划分为:Emp1=Eno,Sal,TaxEmpEmp2=Dno=1o

52、r Dno=3(Eno,Ename,Mgr,DnoEmp)Emp3=Dno=2(Eno,Ename,Mgr,DnoEmp)4诱导分片一个关系的分片不是基于关系本身的属性,而是根据另一个与其有关联性质的关系的属性来划分。这种划分是只基于水平分片的诱导。定义3.4 组合关系R(U,Q,S)按另一个组合关系T,它是一个已经水平分片成T1(U1,Q1,S1),Tn(Un,Qn,Sn),在公共属性A上的诱导分片(DH)是一操作,它将R划分为R1(U1,Q1,S1),Rn(Un,Qn,Sn),满足:1) U1=U2=Un=U;/属性集不变2) K1=K2=Kn=K;/键相同3) A(Ri) A(Ti);/

53、联接部分相同4) Qi=Qi;/条件由T的谓词给定5) Si=。/一层分布记R(DH)=R1,Rn,式中T=T1,Tn。其实质是,通过A将R与T联接起来形成新的关系。此时就可以根据T原有的属性形成新的谓词进行水平划分。诱导分片是一种相关分片操作,它是一种半联接操作。半联接操作是关系代数中联接(JOIN)操作的一种缩减。关系R和S的半联接记为RS,其结果关系是R和S的自然联接(Natural JOIN)后在R的属性上的投影,可用下述表达式表示:RS=R(RS)计算RS的另一种等价的方法是:将S中与R有相同属性名的属性集投影出来,然后与R完成自然联接,其等价公式为:RS=R(RS)半联接操作是一种

54、不对称操作,即RSSR。在分布式数据库的查询优化中,常常用半联接操作实现联接操作的操作数(关系)的缩减(归约)。例:设有供应关系Supply(Sno,Pno,Qty),它的划分要求按供应商所在地Scity属性值划分。虽然Scity不是Supply关系的属性,但Supply是Supplier与另一个零件关系Part的关联(多对多关系的关系表示)。就Supply与Supplier而言,Sno是它们的公共属性,并充当Supply的外码(foreign key)。所以,Supply的划分可以通过公共属性Sno实现,在Scity属性值上完成水平诱导划分。这时,Scity称为Supply的诱导属性。例:已

55、经有Supplier1=Scity=LondonSupplierSupplier2=Scity=ParisSupplier通过半联接操作实现对Supply的划分,则有:Supply1=SupplySupplier1Supply2=SupplySupplier2代入已有Supplier1和Supplier2,分别得到:Supply1=Sno,Pno,Qty(Supply(Scity=LondonSupplier)Supply2=Sno,Pno,Qty(Supply(Scity=ParisSupplier)从式中可以看到,Supply的诱导水平分片的谓词有两部分,一部分是它与关联关系的公共属性;另一部分是它应满足的关于诱导属性的谓词。可表示为:Q1:Supply.Sno=Supplier.Sno and Scity=LondonQ2:Supply.Sno=Supplier.Sno and Scity=Paris设相关划分的两个关系为R,T。A为两个关系的公共属性,F为诱导属性,则诱导水平分片的谓词Qi:R.A=T.A AND T.F=值,具有合取性。以上四种分片操作可以用一个统一的形式描述:R(Oj),=R1,Rn其中,OjH,V,M,DH,C=C1,Cn。当Oj=DH时,Ci表示关系;当OjDH时,Ci=|如果Oj=H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论