首页 百科知识 分布式数据库系统的体系结构与分布式数据库管理系统

分布式数据库系统的体系结构与分布式数据库管理系统

时间:2022-10-17 百科知识 版权反馈
【摘要】:分布式数据库的物理结构是各个结点通过计算机网络连接起来的,但是在逻辑上看分布式数据库系统和集中式数据库系统基本相同。在分布模式中规定的映像类型确定了分布式数据库是冗余的还是非冗余的。支持对分布式数据库的管理与控制。显然,分布式数据库管理系统比集中式数据库管理系统要复杂得多。

10.3.2 分布式数据库系统的体系结构与分布式数据库管理系统

分布式数据库和普通数据库一样也是由分布式数据库、分布式数据库管理系统、分布式数据库应用程序、数据库管理员和用户五部分,加上各个结点进行通信的计算机网络组成的一个数据库系统。其体系结构如图10-4所示。它给出了该系统的总体构架,定义了整个系统的各组成部分及它们的功能,定义了系统各个组成部分的关系。

分布式数据库的物理结构是各个结点通过计算机网络连接起来的,但是在逻辑上看分布式数据库系统和集中式数据库系统基本相同。因此,分布式数据库模式结构既保留了集中式数据库模式结构的特色,又比集中式数据库模式复杂,如图10-5所示模式结构。

分布式数据库是多层模式结构,层次的划分尚无统一的标准,国内数据库界一般划分为4层:

全局外层(Global External Level):全局外模式;

全局概念层(Global Conceptual Level):全局概念模式、分片模式、分布模式;

局部概念层(Local Conceptual Level):局部概念模式;

局部内层(Local Internal Level):局部内模式。

类似于集中式数据库,这4层中的相应模式之间的转换,由全局数据库管理系统和局部数据库管理系统提供的多层次映像来实现。

img184

图10-4

img185

图10-5

(1)全局外模式:全局外模式是全局应用的用户视图,是全局概念模式的子集。

(2)全局概念模式:用于定义分布式数据库中的整体数据逻辑结构,使数据就如同根本没有分布一样。它的定义方法与传统的集中式数据库所采用的方法相同。

(3)分片模式:每个全局关系可以分为几个不重叠的部分,每一部分称为一个片段。分片模式用于定义片段以及全局关系到片段的映像。这种映像是一对多的,一个片段来自一个全局关系,而一个全局关系可对应多个片段。

(4)分布模式:片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的不同结点上。分布模式用于定义片段的存放结点。在分布模式中规定的映像类型确定了分布式数据库是冗余的还是非冗余的。若映像是一对多的,即一个片段被分配到多个结点上存放,则是冗余的分布数据库,若映射是一对一的,则是非冗余的分布数据库。

(5)局部概念模式:一般情况下,局部概念模式是全局概念模式的子集。全局概念模式经逻辑划分成一个或多个逻辑片段,每个逻辑片段被分配在一个或多个站点上,称为该逻辑片段在某个站点上的物理映像或物理片段。对每个站点来说,在该站点上全部物理映像的集合称为该站点上的局部概念集合。

由此可见,全局概念模式与结点独立,而局部概念模式与结点相关。

(6)局部内模式:局部内模式是分布式数据库中关于物理数据库的描述,类似于集中式数据库中的内模式,但是其描述的不仅仅是本结点自身的局部数据的存储,还应该包括全局数据在本结点的存储。

分布式数据库管理系统是分布式数据库系统的核心,但不同的DDBMS提供的功能差别很大,一般应该具有下列功能:

(1)用户能对网络上任意结点数据库的数据进行远程存取,执行全局应用。

(2)支持存取透明性,提供一定级别的分布透明性。由于分布透明性与系统性能之间存在矛盾,因此一般DDBMS在两者之间进行折中。

(3)支持对分布式数据库的管理与控制。如目录管理、全局数据的请求处理、收集有关数据库的使用信息和提供存放在不同结点上的数据库文件的全局视图等。

(4)支持DDBMS对分布式事务的并发控制和恢复。

显然,分布式数据库管理系统比集中式数据库管理系统要复杂得多。分布式数据库管理系统要实现上述的一些功能,一般应该包括下面一些基本功能模块:

(1)查询处理模块

分布式数据库的数据分散在各个结点上,而查询处理可能涉及很多结点上的数据。为了提高查询处理的效率,减少查询过程的网络通信代价,分布式数据库应该在查询执行前对查询的请求进行分析和优化,分析查询都需要哪些数据,这些数据的位置以及如何减少查询处理的代价等,这些都是查询处理模块的功能。

(2)完整性处理模块

该模块主要负责维护数据库的完整性和一致性,检查完整性规则,处理多副本数据的同步更新等。由于分布式数据库中很多数据都有多个备份,而且每个副本可能在不同的结点上,所以查询处理模块分析出查询所需要的数据后,完整性处理模块与查询处理模块一起,进一步确定将哪个版本(正本或副本)的数据提供给该查询使用,并指出该数据版本的存放结点,即产生查询处理的策略。同时当用户修改了其中一个版本,完成性模块应该自动地更新其他副本的数据,使数据保持一致性。

(3)调度处理模块

一旦确定了查询处理的策略,就要进行一些局部处理和数据传输。这时,调度处理模块就负责向有关的结点发布命令,使相应结点的数据库管理系统执行这些局部处理。与此同时,调度处理模块还需要与各个结点的通信管理软件相互配合,以便在相应的结点之间进行必要的数据传输。最后,完成查询并把结果传回发出该查询的结点。

(4)可靠性处理模块

分布式数据库系统中因为数据在不同的结点上有多个不同的副本,如果一个结点出现故障时可以从其他结点获得备份,所以可靠性相对较高。但是因为各个结点之间要通过网络连接,所以也增加了发生故障的因素。可靠性处理模块负责不断地监视系统的各个部分是否有故障。当故障修复后,可靠性模块负责将该部分重新并入系统,使之继续有效地运行,并保持数据库的一致状态。

分布式数据库管理系统的各个处理模块之间的关系如图10-6所示。

img186

图10-6

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈