分布式数据库系统(数据库)
时间:2022-12-21 10:30:01 | 来源:信息时代
时间:2022-12-21 10:30:01 来源:信息时代
分布式数据库系统 : 地理上分散而逻辑上集中的一种数据库系统,即通过计算机网络将地理上分散的各局域站点连接起来共同组成一个逻辑上统一的大型数据库系统。
1.分布式数据库
分布式数据库(distributed database,DDB)是以分布处理方式支持的一种数据库,其数据不是全部存储在一个地区的一台计算机系统上,而是分散在计算机网络的各个站点(场地)的计算机上。如图1所示,数据分布存储在四个场地上。但对用户来说,他们看到的是逻辑上统一的全局模式,用户的查询也是基于全局模式的查询。普通用户可以以C/S或B/S方式方便地在网上浏览和处理数据库中的数据,而并不关心或注意到数据是存储在哪个具体场地上。
图1 分布式数据库系统
(1)分布式数据库的特性: DDB的典型特性是数据透明性和场地自治性。DDB是将多个场地的局部数据库在逻辑上集成为一个整体,为分布式数据库系统的所有用户所使用,这种应用称为全局应用,其用户为全局用户。另外,分布式数据库系统也允许用户只使用本地的局部数据库,该应用称为局部应用,其用户为局部用户。DDB实现了应用程序与系统实际数据组织相分离,即数据具有独立性或透明性。数据透明性具体体现为分布透明性、复制透明性和分片透明性。分布透明性指全局用户看到的是全局数据模型的描述,如同集中数据库一样,不需考虑数据的存储场地和操作的执行场地。复制透明性指分布数据库支持有控制的数据冗余,即数据可重复存储在不同的场地上,从而提高系统的可用性和可靠性,加强系统处理的并行性。分片是将一个关系分成几个子关系。根据实际需求,一个分片可能存储在不同的场地上(实际存储在场地上称为分段)。逻辑层是用户语义层,物理层实现物理细节。分片透明性指逻辑层的语义与物理层的实现相分离,它对高层系统和用户隐蔽了某些实现细节。
在分布式数据库系统中,为保证局部场地独立自主能力,分布场地具有自治性。局部用户独立于全局用户的特性称为局部数据库的自治性,也称为场地自治性。场地自治性具体体现为设计自治性、通信自治性和执行自治性。设计自治性指局部数据库管理系统能独立决定它自己局部库的设计。通信自治性指局部数据库管理系统能独立决定是否以及如何与其他场地的DBMS通信。执行自治性指局部数据库管理系统能独立决定以何种方式执行局部操作。
(2)典型的分布式数据库原型系统(SDD-1): 是美国国防部委托CCA公司设计和研制的分布式数据库管理系统。它是最早研制并且影响力最大的系统之一。它采用关系数据模型,支持类SQL查询语言;支持对关系的水平和垂直分片及复制分配; 支持单语句事务,提出了半连接优化技术; 采用独创的时间戳技术和冲突分析方法实现并发控制; 采用目录数据同用户数据一致管理。
分布式Ingres: 是Ingres系统的进一步研究成果,由美国加利福尼亚大学伯克利分校研发。该系统支持QUEL查询语言; 支持对关系水平分片,但不支持数据副本; 采用基于锁的并发控制方法; 目录分为全局目录和局部目录。
R*系统:是由IBM公司Jan Jose研究室研发的分布式数据库管理系统。它是集中式关系数据库系统System R的后继成果。它支持SQL查询语言,不支持关系的分片和副本; 采用基于锁的并发控制方法和分布式死锁检测方法;采用分布式目录管理结构。
POREL系统:是由德国斯图加特大学研制的分布式管理系统。它采用SQL-like的关系数据库语言RDBL查询语言; 支持关系的水平分片和副本; 采用基于锁的并发控制方法预防死锁;目录结构类似于分布式的Ingres。
SIRIUS-DELTA: 是法国全国性的分布式数据库管理研究计划(SIRIUS)的研究成果之一。它采用关系模型,支持对关系的水平和垂直分片;采用基于锁的并发控制方法和死锁预防策略;支持数据副本,并建立了较完善的恢复机制。
我国对分布式数据库系统的研究始于20世纪80年代初,80年代中期相继完成了几个有代表性的原型系统:
C-POREL:是由中国科学院数学所和上海科技大学、华东师范大学合作开发实现的分布式数据库系统。它以POREL为蓝本,支持关系水平分片;采用封锁和时间戳相结合技术实现并发控制; 采用全局目录结构。
WDDBS系列: 是由武汉大学数据库组研制的分布式数据库系统。它支持水平分片、垂直分片、诱导分片、混合分片及数据副本。采用半连接优化技术、基于锁的并发控制方法和无阻塞的改进的2PC协议。
SUNDDB:是由东南大学计算机系开发的原型系统。不支持分片,但提供快照技术弥补不分片的不足; 采用主副本2PL和2PC协议; 目录管理与R*类似。
DMU/FO: 是以东北大学为主、基于网络模型的分布式数据库系统。它支持数据副本; 采用主副本锁机制和2PC协议。
2.分布式数据库模式结构
模式结构是典型的基于数据的描述方法。分布式数据库体系结构并没有一个统一的标准,但我国在研究和开发分布式数据库中,制定了一个《分布式数据库系统标准》(草案),提出把分布式数据库抽象为四层的模式结构(见图2),并得到了国内外同行的认可。四层模式划分为: 全局外层、全局概念层、局部概念层和局部内层,其中还有模式与模式之间的映射关系。实际上,划分为如下六种模式:
(1)全局模式(ES):定义全局用户视图,是分布式数据库的全局用户对分布式数据库的最高层抽象。全局用户使用视图时,不必关心数据的分片和具体的物理分配细节。
图2 分布式数据库模式结构
(2)全局概念模式(GCS): 定义全局概念视图,是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构。全局概念模式再经过分片模式和分配模式映射到局部模式。
(3)分片模式: 是描述全局数据的逻辑划分视图。即根据分片条件将全局数据逻辑结构划分为局部数据逻辑结构。每一个逻辑划分成一个分片。在关系数据库中,一个关系的一个子关系称该关系的一个分片。
(4)分配模式: 是描述局部数据逻辑的局部物理结构,即划分后的分片的物理分配视图。
(5)局部概念模式(LCS): 定义局部概念视图,是全局概念模式的子集,用于描述局部场地上的局部数据逻辑结构。全局概念模式经逻辑划分后,被分配到各局部场地上。
(6)局部内模式(LIS): 定义局部物理视图,是对物理数据库的描述,类似集中数据库的内层。
分布式数据库的四层结构及模式定义描述了分布式数据库是一组用网络联结的局部数据库的逻辑集合。它将数据库分为全局数据库和局部数据库。全局数据库到局部数据库由映射(1:N)模式描述。全局数据库是虚拟的,由全局概念层描述。局部数据库是全局数据库的内层,由局部概念层和局部内层描述。
3.分布式数据库系统的功能结构
分布式数据库系统的功能结构比较典型的是基于客户/服务器功能的分布式数据库系统的体系结构,又可分为多客户/单服务器模式和多客户/多服务器模式。图3所示的是一种典型的多客户/多服务器的分布式数据库系统的体系结构。其中,服务器端完成绝大部分的数据管理功能,包括查询处理与优化、事务管理、存储管理等。在客户端,除了应用和用户接口外,还包括管理客户端的缓存数据和事务封锁、用户查询的一致性检查以及客户与服务器端之间的通信等。
图3 基于客户/服务器功能的DBMS系统结构
在图3中,AP为应用处理器,是用于完成分布数据处理的软件,如: 处理访问多个场地的请求,查询全局字典中分布信息等。主要包括用户接口、查询处理、全局事务管理、全局字典管理和全局恢复管理。DP为数据处理器,负责进行数据管理的软件,类似于一个集中式数据库管理系统(DBMS)。主要包括局部查询处理、局部事务管理、局部字典管理和局部恢复管理。CM为通信处理器,负责为AP和DP在多个场地之间传送命令和数据。