1.2 分布式数据库系统的基本概念
随着传统数据库技术的日益成熟,数据库应用已经普遍建立于计算机网络之上,此时也表现出集中式数据库系统的很多不足:集中式处理造成的通信开销过大;程序集中在一台计算机上可靠性不高;系统规模配置不够灵活等。在这些问题的推动下,“分布计算”的概念得到了发展。分布式数据库系统(Distributed DataBase System, DDBS)是相对于集中式数据库系统而言的,是将数据库技术与网络技术相结合的产物[3]。分布式数据库系统与集中式数据库系统相比具有很强的可扩展性,可通过增加适当的数据冗余来提高系统的可靠性。分布式数据库系统包含分布式数据库管理系统(Distributed DataBase Management System, DDBMS)和分布式数据库(Distributed DataBase, DDB)两部分,二者承担的任务和工作各不相同。
分布式数据库管理系统是分布式数据库系统的核心,用于保证分布式数据库中数据的物理分布对用户的透明性。分布式数据库管理系统是建立、查询、更新、管理、维护分布式数据库的一组软件,如图1.1所示,包含局部数据库管理系统(LDBMS)、全局数据库管理系统(GDBMS)、通信管理(CM)和全局系统目录(GDD)4个组件。
图1.1 分布式数据库管理系统
局部数据库管理系统(Local DBMS, LDBMS):该组件是一个标准的数据库管理系统,主要负责建立和管理本节点数据库中的数据。它有自己的系统目录表,存储的是本节点数据库中数据的总体信息,提供场地自治能力、执行局部应用以及全局查询的子查询。
全局数据库管理系统(Global DBMS, GDBMS):该组件也称为分布式数据库管理系统,是整个系统的控制中心,它主要负责执行全局事务,协调局部的数据库管理系统以完成全局应用,保证数据库的全局一致性[4]。
通信管理(Communication Management, CM):该组件也称为数据连接,是一个能让所有节点与其他节点相连接的软件,包含节点及其连接的信息,提供通信功能。
全局系统目录(Global Data Directory, GDD):该组件也称为全局数据字典,包含集中式数据库的数据目录、数据分布信息(如分片、复制和分布模式)。它本身可以像关系一样被分片、复制和分配到各个节点。
分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上。分布式数据库系统通常采用比较小的计算机系统,网络中的每个节点都具有独立处理能力,拥有自己的局部数据库并可以执行局部应用,每个节点也能通过网络通信子系统执行全局应用[5]。许多计算机相互连接,共同组成一个完整的、全局的“逻辑上集中、物理上分布”的大型数据库。
如图1.2所示,分布式数据库系统可以抽象为4层的结构模式,分别为全局外层、全局概念层、局部概念层和局部内层。层与层之间有相应的层间映射。模式结构从整体上可以分为两大部分:上半部分是分布式数据库系统增加的全局模式结构;下半部分是传统集中式数据库的模式结构,代表各局部数据库系统的基本结构。
图1.2 分布式数据库系统的结构模式
全局外层:该层是全局应用的用户视图,是全局概念模式的子集。
全局概念层:该层定义分布式数据库中数据的整体逻辑及结构,定义方法可以采用传统集中式数据库中所采用的方法。全局概念模式中所用的数据模型应该易于向其他层次的模式映像,通常采用的是关系模型[6]。
分片模式:每一个全局关系都可以划分为不相干的若干部分,每一个部分称为一个片段,即“数据分片”[7]。分片模式就是定义片段及全局关系到片段的映像,这种映像是一对多的关系,即每个片段来自一个全局关系,而一个全局关系可对应多个片段。
分配模式:由数据分片得到的片段仍然是分布式数据库的全局数据,每一个片段在物理上可以分配到网络的一个或多个不同节点上。分配模式定义片段的存放节点。分配模式的映像类型决定了分布式数据库是冗余的还是非冗余的。如果映像的关系是一对多,即一个片段分配到多个节点上存放,此时就是冗余的分布式数据库,否则就是非冗余的分布式数据库。
根据分配模式所提供的信息,一个全局查询可分解为若干子查询,每一个子查询要访问的数据属于同一场地的局部数据库,由分配模式到各局部数据库的映像(如图1.2中的映像4)把存储在局部场地的全局关系或全局关系的片段映像为各局部概念模式采用局部场地的数据库管理系统所支持的数据模型。
分片模式和分布模式均是全局的,分布式数据库系统中增加的这些模式和相应的映像使分布式数据库系统具有了分布透明性。
局部概念层:一个全局关系按逻辑可以划分为一个或多个逻辑片段,每个逻辑片段被分配在一个或多个场地上,称为该逻辑片段的物理映像[8]。分配在同一个场地上的同一个全局概念模式的若干片段构成了该全局概念在该场地上的一个物理映像。一个场地上的局部概念模式是该场地上所有全局概念模式在该场地上的物理映像的集合。由此可见,全局概念模式与场地独立,而局部概念模式与场地相关。
局部内层:该层是对分布式数据库的物理数据库的描述,类似于集中式数据库中的内模式,但是其描述的内容不仅包含局部数据在本场地的描述,还包括全局数据在本场地的存储描述。