首页 > 知识点讲解
       分布式数据库的体系结构
知识路径: > 数据库主流应用技术 > 数据库主流应用技术 > 数据库主流应用技术 > 分布式数据库 > 
被考次数:5次     被考频率:中频率     总体答错率:51%     知识难度系数:     
相关知识点:25个      
               分布式数据库的模式结构
               我国在多年研究与开发分布式数据库及制定我国的《分布式数据库系统标准》中,曾提出把分布式数据库抽象为四层的模式结构,参见下图。
               
               分布式数据库结构模式图
               这种四层模式划分为:全局外层、全局概念层、局部概念层和局部内层。在各层间还有相应的层间映射。四层模式的划分不仅适用于完全透明的分布式数据库系统,而且也适合各种透明性要求的分布式数据库系统。无论是对同构型分布式数据库系统,还是异构型分布式数据库系统都能适用。
                      全局外层
                      分布式数据库是一组分布的局部物理数据库的逻辑集合。分布式数据库的全局视图如同集中式数据库一样,由多个用户视图组成。用户视图是针对分布式数据库特定的全局用户的,是对分布式数据库的最高层的抽象。
                      分布式数据库与集中式数据库的视图有同样的概念,不同的是,它不是从某一个具体场地上的局部数据库中抽取,而是从一个虚拟的由各局部数据库逻辑集合中抽取,对全局用户而言,不论他在分布式数据库系统中的哪一个节点上访问系统中的数据,都可以认为所有的数据库都在本场地,而且他只关心自己所使用的那部分数据。
                      如果是完全透明的关系模型的分布式数据库结构,则视图就和集中式数据库的视图一样,其定义方式也基本相同,因此全局用户在使用视图时,就不必关心数据的分片和具体的物理细节。若为非完全透明的分布式数据库,则在视图定义中,根据透明性支持的程度,需要给出一定的数据细节、物理存取的细节等。
                      全局概念层
                      全局概念层是分布式数据库的整体抽象,包含了系统中全部数据的特性和逻辑结构。就像集中式数据库中的概念视图一样,是对数据库的整体的描述,但在分布式数据库的四层抽象的结构中,全局概念层比集中式的概念层有更多的描述。
                      从分布透明特性来说,分布式数据库的全局概念层应具有三种模式描述信息:
                      (1)全局概念模式:描述分布式数据库全局数据的逻辑结构,是分布式数据库的全局概念视图。与集中式数据库的概念视图的定义相似,全局概念模式应包含模式名、属性名以及每种属性的数据类型的定义和长度。
                      (2)分片模式:描述全局数据逻辑划分的视图,它是全局数据的逻辑结构根据某种条件的划分,每一个逻辑划分即一个片段,或称为分片。
                      (3)分配模式:描述局部逻辑的局部物理结构,是划分后的片段(或分片)的物理分配视图。它与集中式数据库物理存储结构的概念不同,是全局概念层的内容。
                      分布式数据库的定义语言除了需要提供概念模式的定义语句外,还必须提供分片模式和分配模式的定义语句。
                      从全局模式到分片模式,再到分配模式,它们之间存在着映射。全局概念模式到分片模式的映射是一对多的,即一个全局概念模式有若干个分片模式与之相对应,而一个分片模式只能对应一个全局概念模式。分片模式到分配模式映射可以是一对多的或者一对一的,这是由数据分布的冗余策略所决定的。当采用一对多时,表明分片数据有多个副本存储在不同的场地上,且同一场地一般情况下不允许有相同的副本存在;当采用一对一时,则表明数据是非冗余的,即分片数据只有一个副本。
                      从全局概念层观察分布式数据库,它定义了全局数据的逻辑结构、逻辑分布性和物理分布性,但并不涉及全局数据在每个局部场地上的物理存储细节。所以全局概念层,仍然是概念层视图,或全局数据库管理员视图,因而,全局数据库管理员将负责全局数据结构的定义、逻辑分布的定义和物理分布的定义。
                      分布式数据库的全局数据分布性的描述对关系数据模型最为有利。对于关系型分布式数据库来说,全局概念模式由一组全局关系模式的定义组成,分片模式是对全局关系模式的逻辑划分定义,即片段定义,或子关系模式定义,所以可以将片段看作全局关系的逻辑组成,即逻辑片段;分配模式是对于子关系模式的描述,因此分配模式决定了子关系的物理场地,即决定子关系的物理片段。
                      如下图是全局关系R的分片和物理映像示意图。全局关系R分为三个片段R1、R2和R3,以冗余的方式分配到不同物理节点上。R1在节点1和节点2有相同的映像,R2只在节点2上存储,R3在节点1、节点2和节点3上都有相同的映像副本。
                      
                      全局关系的各片段和物理映像示意图
                      局部概念层
                      局部概念层由局部概念模式描述,一般情况下,它是全局概念模式的子集,全局概念模式经逻辑划分后被分配在各局部场地上。
                      在分布式数据库局部场地上,每个全局关系有该全局关系的若干个(可允许是全部)逻辑片段的物理片段集合,该集合是一个全局关系在某个局部场地上的物理映像,全部的物理映像组成局部概念模式。如果两个场地上的所有物理映像都相同,则其中一个场地上的数据必然是另一个场地的副本,两个场地的局部概念模式亦相同。
                      如果分布式数据库只支持全局应用,则局部概念模式可理解为局部数据库的概念模式和外模式,在此情况下,外模式和概念模式是相同的;如果分布式数据库还支持局部用户,而局部用户定义的局部数据不参与分布式数据库的全局数据,则局部概念层还应划分为局部外模式和局部模式,并且由局部DBA描述,这些将不属于全局概念模式。这时值得注意的是,全局数据和局部数据分别由全局DBA和局部DBA管理。因此,全局用户是否可以使用全局数据则由全局DBA授权,局部DBA无权授予全局用户各种权限。
                      当全局数据模型与局部数据模型不同时,则物理映像与各局部数据库的数据模型之间还必须有数据模型的转换。即使是数据模型相同时,也可能有数据类型和格式的各种转换。也就是说,各局部数据库是多种数据模型构成的数据库时,在组成分布式数据库时,需要一个统一的全局描述,即数据模型的同种化的集成,而对于不同的规格化的统一,则称之为一体化。这就是分布式数据库中的全局概念层到局部概念层的映射模式的描述。
                      局部内层
                      局部内层是分布式数据库中关于物理数据库的描述。相当于集中式数据库的内层。其描述的内容和方法与之大致相同。
                      总之,分布式数据库四层结构及其模式定义之间的相互映射关系,体现了分布式数据库是一组用网络联结的局部数据库的逻辑集合。四层结构也体现了分布式数据库的特点:
                      (1)全局数据库与局部数据库分离。全局数据库是虚拟的,全局DBA的视图由全局概念层定义,完全独立于各个场地的局部数据库;局部概念层和局部内层可看作是局部数据库,它是全局数据库的内层。这样,不论是同构或异构型的分布式数据库,其全局数据库到局部数据库都是由映射模式解释的,所不同的是,同构型分布式数据库比异构型分布式数据库在映射模式上的复杂性低。而对于全局用户来说,他们所关心的只是外层所定义的视图,他们只需使用全局数据所提供的语言去操纵分布式数据库,无需考虑各种模型转换、语言的转换、场地分配等细节。全局数据库与局部数据库的分开描述,不仅体现了本章中关于分布式数据库的定义,同时也体现了它具有模式转换的透明性。
                      (2)数据库的数据独立性。四层结构中的全局外层是数据库的用户视图,可有多个。全局概念层和局部概念层是分布式数据库的全局整体逻辑数据和局部整体逻辑数据的抽象,由于分布式数据库的分布特性决定了全局整体逻辑数据的抽象只有一个,而局部数据的逻辑抽象则是每个局部数据库各有一个,当然也允许其中的某些逻辑抽象完全相同,这样,分布式数据库就具有了集中式数据库那样的数据独立性——逻辑数据独立性和物理数据独立性。
                      (3)透明性。在全局概念层中,把数据的分片概念和数据的分配概念分别定义,从而把分布透明中的分片透明和分配透明相分离。所谓分片透明即用户完全只对全局关系操作,而不管关系如何在逻辑上划分成片段关系,在全局概念层把分片透明看作是最高程度的透明性。所谓分配透明,是较低级的透明.要求用户在片段上操作,不是在全局关系上的操作,但不必考虑片段的存放位置,对用户而言,在完全透明的情况下,系统支持由分片定义而选中所需的片段进行操作,并由系统选择出适当的场地执行。从而实现了对用户的分布完全透明。这种分离对分布式数据库设计是十分有利的,可在逻辑设计阶段考虑分片的划分要求,而在实现时才考虑数据分配问题。
                      (4)数据冗余控制。冗余只在分配时才涉及,并且分布式系统提供了重复副本透明性。分布式系统还可提供比场地透明更低一级的透明性管理,即用户只要指定某个副本,系统对其他副本完成相应的操作,从而保证所有副本的完整性和可用性。
               数据分布
               数据分布是分布式数据库系统中的基本问题,解决好这个问题对提高分布式数据库系统的效率和性能有积极的作用。所谓数据分布是指在分布式环境中通过合理分布数据.提高数据操作自然并行度,以达到最好的执行效率的目的。在构建分布式数据库系统的运行环境时,必须考虑数据如何分布在系统的各个场地上,或者说,必须考虑构成分布式数据库系统的各个组成部分各自如何使用数据的问题。所以,在分布式数据库系统中,同样存在着分布式数据库的设计问题。数据分布就是讨论这个问题,它包括分布式数据库的逻辑划分和物理分配,以及用户对分布式数据库的划分或分配的感知程度(透明度)。
               数据分布要研究的问题是在分布式数据库中,如何放置数据,从而使得相关数据之间的相对位置最佳。
               如何分布数据,使它们的相对位置最佳,还需要考虑许多其他问题,例如:
               (1)如果一个场地上的存储空间不够,无法存放要访问的所有数据时该怎么办?
               (2)数据相对位置对查询优化有什么样的影响?
               (3)如何才能知道相对位置最佳的数据分布是否最大限度地利用了网络环境并行性?
               对于数据分布问题,人们已经进行了大量的研究工作,其中主要的工作都是围绕着两方面进行的:“高效的数据划分问题”和“数据放置问题”。第一个方面是关于如何把数据划分开,使得使用率最高的数据能够被放置在性能最好的场地上。第二个方面是关于如何把已划分好的数据合理地放置在网络上以获得最好的执行效率,减少网络传输的数据量。数据的划分和放置是数据分布问题的两个方面,只解决其中任何一个都不能说是已经解决了数据分布问题。数据分布是分布式数据库的特征,解决数据分布的策略一般有以下几种:
               (1)集中式:所有全局数据片段都安排在一个节点上。
               这种分布策略把系统数据都存放在一个节点上,对数据的控制和管理都比较容易,数据的一致性和完整性能够得到保证。但是由于数据的检索和修改都必须通过这个节点,使得这个节点的负担过重,容易出现瓶颈。另外,系统对这个节点的依赖性也过多,一旦这个节点出现故障,将使整个系统崩溃,系统的可靠性就相对较差,为了提高系统的可靠性,该节点的设备就必须提高。
               (2)分割式:所有全局数据有且只有一份,它们被分割成若干个逻辑片段,每个逻辑片段被分别指派在特定的节点上,可以说对全局数据进行了划分。
               这种分布策略充分利用各个站点上的存储设备,数据的存储量大。在存放数据的各个节点可自治地检索和修改数据,发挥系统的并发操作能力。同时,由于数据是分布在多个节点上的,所以当某部分节点出现故障时,系统仍可运行,提高了系统的可靠性。对于全局查询和修改,所需的时间会比集中式长些,因为数据不在同一场地上,需要进行网络通信。
               (3)复制式:全局数据有多个副本,每个站点上都有一个完整的数据副本。
               采用这种策略的系统可靠性较高,响应速度快。数据库的恢复也较容易,可从任意的场地得到数据的副本。但是要保持各个站点上数据的同步修改,将要付出昂贵的代价。另外,整个系统的数据冗余很大,系统的数据容量也只是一个节点上数据库的容量。
               (4)混合式:全部数据被分为若干个数据子集,每个子集被放在不同的节点上,但任何一个节点都没有保存全部的数据,根据数据的重要性决定各个数据子集副本的数量。
               这种分布策略,兼顾了分割式和复制式的做法,也获得了二者的优点,它灵活性好,能提高系统的效率,但同时也包括了二者的复杂性。
               数据分片
               数据分片也称数据分割,是分布式数据库的特征之一。在一个分布式数据库中,全局数据库是由各个局部数据库逻辑组合而成。相反,各个局部数据库则是全局数据库的某种逻辑分割而得。实际上这也是应用的需要,以关系型模型为例来说明,一个关系描述了某些数据之间的逻辑相关性,但是,因为不同节点的用户对该关系中元组的需求可能是不同的。例如,某个关系中的元组是与地区有关,西安的用户需要的是有关“西安”的那些元组,而广州的用户需要的是有关“广州”的那些元组。这就需要对这个关系进行分割,分割后得到的各部分元组称为该关系的逻辑片段,并被存放在相应的节点上。这样处理将各得其所,可以大大减少网络上的通信,从而提高系统的响应效率。
               在分布式数据库中,数据存放的单位是数据的逻辑片段。对关系型数据库来说,一个数据的逻辑片段是关系的一部分。数据分片有三种基本方法,它们是通过关系代数的基本运算来实现的:
               (1)水平分片:按特定条件把全局关系的所有元组,分划成若干个互不相交的子集,每一子集为全局关系的一个逻辑片段。它们通过对全局关系施加选择运算得到,并可通过对这些片段执行合并操作来恢复该全局关系。
               (2)垂直分片:把全局关系的属性分成若干子集,对全局关系作投影运算得到这些子集。要求全局关系的每一属性至少映射到一个垂直片段中,且每一个垂直片段都包含该全局关系的关键字。这样,通过对这些片段执行连接操作可以恢复该全局关系。
               (3)水平和垂直结合的分片:以上两种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片。
               不论采用哪一种方法进行数据分片,都要遵守如下规则:
               (1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许有属于全局关系却不属于任何一个片段的数据存在。
               (2)可重构条件:必须保证能够由同一个全局关系的各个片段来重新构造该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用连接操作重构全局关系。
               (3)不相交条件:要求一个全局关系被分割后所得的各数据片段互不重叠或只包含关键字重叠。
               分布透明性
               在分布式数据库中,数据独立性是十分重要的,其内容比集中式数据库更加复杂。除了数据的逻辑独立性与数据的物理独立性外,还有数据的分布独立性。所谓数据分布独立性是指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,即用户不必关心全局数据的逻辑分片情况、逻辑片段的场地位置分配情况以及各场地上数据库的数据模型等。也就是说,全局数据的逻辑分片、片段的物理位置分配、各场地数据库的数据模型等情况对用户和应用程序是透明的。所以,在分布式数据库中分布独立性也称为分布透明性。下面我们来看看分布透明性的各种级别:
                      分片透明性
                      分片透明性是分布透明性中的最高层,在四层分布式数据库模式结构中,分片透明性位于全局概念模式与分片模式之间。当分布式数据库具有分片透明性时,用户编写的应用程序只对全局关系进行操作,而不必考虑数据的逻辑分片,当分片模式改变时,只要改变全局概念模式到分片模式之间的映像,从而不会影响应用程序,实现了数据分片透明性。
                      分配透明性
                      分配透明性也称位置透明性,是分布透明性的中间层,在四层的分布式数据库模式结构中,位于分片模式与分配模式之间。实际上,分配透明性包含了两种情形:一种是各片段被复制的情况,即每一片段是否被复制、复制了几个副本;另一种是片段及其各副本的场地的位置分配情况。前者也称复制透明性或数据冗余透明性。当分布式数据库具有分配透明性时,用户编写的应用程序要了解全局数据的数据分片情况,但不必了解各逻辑片段的复制副本情况,也不必关心各片段及其副本的站点位置分配情况。当片段及其副本的存储站点改变时,只要改变从分片模式到分配模式之间的映像,从而不会影响用户程序,实现了数据片段的位置透明性。
                      局部数据模型透明性
                      局部数据模型透明性也称局部映像透明性,即与各场地上数据库的数据模型无关,是分布透明性的最低层,在四层分布式数据库模式结构图中,处于分配模式与局部概念模式之间。当分布式数据库只具有局部数据模型透明性时,用户编写应用程序不但要了解全局数据的逻辑分片情况,还要了解各逻辑片段的副本复制情况,以及各片段和它们副本的站点位置分配情况,但不必了解各站点上数据库的数据模型。全局数据模型与每个节点上的局部数据库的数据模型的转换是由分配模式与局部概念模式之间的映像实现的。当某个节点上数据库的数据模型改变时,只要改变分配模式到该站点局部概念模式之间的映像即可,应用程序不受影响,从而实现了局部数据模型透明性。显然,在同构分布式数据库系统中,其各站点上的数据模型相同,且有可能全局数据库的数据模型就采用局部数据库的数据模型,此时,就大大减少这种映像的复杂性。
                      如果一个分布式数据库系统提供分片透明性,它一定也提供了分配透明性和局部数据模型透明性,所以也称为完全分布透明性,是分布透明性的最高级别。此时,对用户和用户程序而言,他们所面对的分布式数据库系统,如同集中式数据库一样,不必考虑数据的分片细节,不必考虑各片段的副本情况,不必考虑片段及副本的分配细节,也无需考虑各站点上数据库是什么数据模型等。
                      如果一个分布式数据库系统提供分配透明性,而没有提供分片透明性,它一定也提供局部数据模型透明性,所以也称为中级分布透明性。此时,对用户和应用程序而言,他们必须知道分布式数据库全局数据的逻辑分片情况,在程序中必须指出所需要访问的逻辑片段名。但不必关心逻辑片段是否被复制以及它们被分配在哪些站点上,也不必考虑站点的数据模型。
                      如果一个分布式数据库系统只提供局部数据模型透明性而不提供分片透明性,也不提供分配透明性,则被称为低级分布透明性。此时,对用户和应用程序而言,他们不但必须知道分布式数据库全局数据的逻辑分片情况,还必须知道各片段是否有副本、有多少副本、各片段及其副本被分配在哪些站点上。即在程序中要指定要访问的数据逻辑片段名,因此,要指定它们所在的节点名。但不必考虑站点上的数据模型。
                      如果一个分布式数据库系统,连局部数据模型透明性也不提供,即将异构数据模型转换也交给用户和用户程序自己处理,这种分布式数据库系统称为无分布透明性。
                      由此可见,一个分布式数据库系统可能提供的分布透明性的层次越高,用户编写应用程序越容易。因此,一个分布式数据库系统可能提供的分布透明性的程度,也是衡量分布式数据库管理系统是否完善的标准之一。
               分布式数据库管理系统
               分布式数据库管理系统(Distributed Database Management System,DDBMS)用以支持分布式数据库的建立和维护,皮博尔(Peebll)和曼宁(Manning)两位博士把分布式数据库管理系统分成两大类:综合型和联合型。
               (1)综合型体系结构:是指在分布式数据库建立之前,还没有建立独立的集中式数据库管理系统,设计人员根据用户的需求,设计出一个全新的完整的数据库管理系统。
               (2)联合型体系结构:是指每个节点的数据库管理系统已经存在,在此基础上建立的分布式数据库系统。同时,联合型体系结构又分为同构系统和异构系统。所谓同构系统是指每个节点的局部数据库管理系统支持同一种数据模式、命令语言及查询语言;而异构系统是指各个节点上的数据库管理系统有不同的数据模式、命令语言及查询语言。
               1987年,关系数据库的最早设计者C.J.Date提出了完全的分布式数据库管理系统应遵循的12条规则。这12条规则已被广泛接受,并作为分布式数据库系统的标准定义。它们是:
               (1)本地自治性;
               (2)不依赖于中心站点;
               (3)可连续操作性;
               (4)位置透明性和独立性;
               (5)数据分片独立性;
               (6)数据复制独立性;
               (7)分布式查询处理;
               (8)分布式事务管理;
               (9)硬件独立性;
               (10)操作系统独立性;
               (11)网络独立性;
               (12)DBMS独立性。
               如果一个分布式数据库管理系统能够满足上面的12条准则,我们就可称这个分布式管理系统为完全的分布式管理系统。下图给出了一个分布式数据库管理系统的参考结构。
               
               分布式数据库管理系统结构图
               分布式数据库管理系统由四部分组成:
               (1)LDBMS,局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询。
               (2)GDBMS,全局数据库管理系统,主要功能是提供分布透明性,协调全局事务的执行,协调各局部数据库管理系统以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能等。
               (3)全局数据字典(Global Data Directory,GDD),用来存放全局概念模式、分片模式、分配模式的定义以及各模式之间映像的定义,存放用户存取权限的定义,以保证全部用户的合法权限和数据库的安全性,还存放数据完整性约束条件的定义,其功能与集中式数据库的数据字典类似。
               (4)通信管理(Communication Management,CM),通信管理系统在分布数据库各场地之间传送消息和数据,完成通信功能。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2016年上半年
   数据库系统工程..
   上午试卷 综合知识
第62题
选择题
全局概念层是分布式数据库的整体抽象,包含了系统中全部数据的特性和逻辑结构,从其分布透明特性来说,包含的三种模式描述信息中不包括(62)模式。

67%
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有