首先我们讨论并行计算机及其体系结构。并行系统与并行计算密切关联。图14.1共享内存体系结构对于数据库系统来说,大部分共享内存的商务产品可以使用查询间并行算法来提高事务吞吐量和使用查询内并行算法来节省决策支持查询的响应时间。图14.2共享磁盘体系结构共享磁盘的优点:成本低、高可扩展性、负载均衡、高可用性,以及能方便地迁移到单处理器系统。图14.3无共享体系结构无共享的并行数据库系统如Teradata的DBC和Tandem的NonStop SQL等。......
2023-10-28
分布式系统的体系结构用于描述分布式系统的功能、组织,以及实现的规则与方案。
从物理层起,分布式系统的体系结构可以用图2.6描述。
图2.6 分布式系统的体系结构
如图2.6所示,自下而上,最底层是硬件/固件成分层,包括处理器、存储器、I/O、通信网络等;其上面一层称为分布式操作系统内核层,包括设备驱动(软件)、进程间通信、通信协议分层等;更上面一层称为分布式操作系统服务层,包括服务支持子层、服务(进程、文件、命名、同步、授权、访问控制)等;最上面一层是应用层。分布式数据库系统的基本功能处于应用层。
分布式数据库系统既是一个分布式系统,也是一个数据库系统,因此其体系结构兼顾两者。
下面分别从自主性、分布性和异质性三个方面讨论分布式数据库系统。这三个方面从某种程度上反映了分布式数据库系统的特点。
1.自主性
自主性(autonomy)是一个相当宽泛的概念,文献上对自主性的定义如下。
●设计自主性(design autonomy):单个数据库管理系统可以按其喜欢的方式使用数据模块和事务管理技术。
●通信自主性(communication autonomy):每个独立的数据库管理系统可以自由决策为其他数据库管理系统提供何种类型的数据或者控制全局执行的软件。
●执行自主性(execution autonomy):每个数据库管理系统可以按它们自己希望的方式执行事务和提交事务。
自主性是分布式数据库系统重点强调的一个特性。这里,自主性是指控制的分布,而不是数据的分布。自主性涉及的问题包含以下几个方面。
●单个数据库管理系统的本地运算不受多数据库系统中加入其他数据库管理系统的影响。
●单个数据库管理系统的处理查询和优化查询的方式不受访问多数据库的全局查询执行的影响。
●系统已执行或正在执行的操作在单个数据库管理系统加入或离开多数据库联盟时不受影响。
2.分布性
分布性(distribution)首先是指数据的分布。物理上,数据分布在多个站点或节点(sites)上。数据分布的方式有很多种。这里先说明两种典型的数据分布:客户端/服务器(Client/Server,C/S)分布和对等(Peer-to-Peer,P2P)分布,对等分布也称全分布。
需要注意的是C/S结构的分布特性问题。如前所述,在C/S结构里,数据管理交给服务器负责,而客户端关注的是提供的应用环境,包括用户接口。通信任务由客户端和服务器共同承担。其实,Client/Server DBMS代表对分布功能的一种初步尝试。
另一个极端是Peer-to-Peer系统,在Peer-to-Peer系统里,没有客户端和服务器的区别。每台机器具有完全的DBMS功能,可以与其他机器通信以执行查询和事务。
3.异质性
异质性(heterogeneity)是分布式系统中常见的情况,出现的形式也多种多样,有硬件的异质性、网络协议的差异性和数据管理器的多样性,等等。此外,还会涉及数据模型、查询语言、事务管理协议、故障恢复机制等的异质性。由于各数据模型固有的表达能力有差异和局限,所以使用不同的建模工具表示数据也会产生异质性。查询语言的异质性与不同数据模型的数据存取方式有关,如数据存取是一次一个集合(set-at-a-time)的存取还是一次一个记录(recordat-a-time)的存取。前者是关系型系统的方式,后者是网络型和层次型系统的方式。即使基于相同的数据模型(如DB2使用SQL,INGRES则使用QUEL[1]),也有所用语言的异质性问题。
分布式多数据库系统在组织和管理上与分布式数据库管理系统也有很大差别,基本差别在自主性上。
分布式多数据库系统可以是同构的,也可以是异构的。(www.chuimin.cn)
关于体系结构问题,我们分两个层面进行讨论,即全局层面和本地层面。
鉴于分布式环境中每台机器的物理数据组织的各不相同,因此需要了解每台机器的内部结构定义,我们把它称为本地内模式(local internal schema,LIS)。对数据的企业级视图则称为全局概念模式(global conceptual schema,GCS)。
图2.7 分布式数据库的参考体系结构
分布式数据库中的数据往往是分片的[2],且是复制的。所以还需要第三个层次来描述,我们把它称为本地概念模式(local conceptual schema,LCS)。一方面,位置和复制透明性(location and replication transparencies)是由本地概念模式、全局概念模式及其之间的映射来支持的。另一方面,网络透明性则是由全局概念模式来支持的。分布式数据库的参考体系结构如图2.7所示。
在现实中,可以通过增加一个全局目录(global directory,GD)来实现对ANSI/SPARC模型的扩展。其本地影射则通过一个本地目录(local directory,LD)的帮助来实现。目录的细节将在后面章节讨论。
本地概念模式是全局模式到每一个节点(site)的映射。这类数据库一般都是自顶向下设计的,所以,所有的外模式(external schema,ES)定义都是从全局视图出发定义的。其实,这里可以假设每一个节点都有一个本地数据库管理员(local database administrator)。当然,是否需要这类角色也是有争论的。然而,一般很多用户往往希望对数据管理有一个本地控制。
为了进一步说明分布式数据库管理系统(DDBMS)的构成,下面仔细分析DDBMS的基本成分。
DDBMS的示意图如图2.8所示。
由图2.8可知,DDBMS可以分为两个主要成分,一个负责处理用户交互,一个负责处理存储。
第一个主要成分称为用户处理器,主要包含以下四个元素。
(1)用户接口处理器(user interface handler):负责解释用户的命令,最后将结果数据格式化后返回给用户。
(2)语义数据控制器(semantic data controller):使用完整性约束和授权(这两者定义为全局模式的成分)检查是否可以处理用户查询。
(3)全局查询优化器和分解器(global query optimizer&decomposer):负责确定开销最小的执行策略,使用全局概念模式、本地概念模式及全局字典翻译全局查询。全局查询优化器(global query optimizer)负责生成最佳策略并执行分布连接运算。
(4)分布执行监视器(distributed execution monitor):负责协调用户查询的分布执行情况。这个分布执行管理器也称分布事务管理器(distributed transaction manager)。在分布查询执行期间,各个节点的执行监视器可以和其他节点的执行监视器通信。
第二个主要成分是数据处理器(data processor),它主要包含三个元素。
(1)本地查询优化器(local query optimizer):本地查询优化器像一个存取路径选择器(access path selector),功能是在存取数据时负责选择最佳的存取路径。
图2.8 DDBMS的示意图
(2)本地恢复管理器(local recovery manager):负责保证本地数据库的一致性,即便发生故障。
(3)运行时支持处理器(run-time support processor):负责按照查询优化器产生的调度给出的物理存取命令对数据库进行物理访问。运行时支持处理器是DDBMS与操作系统的接口,包含数据库缓冲管理器(database buffer(或cache)manager),负责维护主存缓冲器和管理数据存取。
在Peer-to-Peer系统中,允许将用户处理器模块和数据处理器模块放在一台机器上。
有关分布式数据库技术的文章
首先我们讨论并行计算机及其体系结构。并行系统与并行计算密切关联。图14.1共享内存体系结构对于数据库系统来说,大部分共享内存的商务产品可以使用查询间并行算法来提高事务吞吐量和使用查询内并行算法来节省决策支持查询的响应时间。图14.2共享磁盘体系结构共享磁盘的优点:成本低、高可扩展性、负载均衡、高可用性,以及能方便地迁移到单处理器系统。图14.3无共享体系结构无共享的并行数据库系统如Teradata的DBC和Tandem的NonStop SQL等。......
2023-10-28
要讨论体系结构问题,首先要回顾前面提到的体系结构模型,再讨论本块恢复管理器和数据库缓冲管理器间的接口。要指出的是,LRM执行的事务操作仅对易失数据库实施。如果没有空余的缓冲空间,LRM就选择一个缓冲页面写入稳定数据库,空出一个页面,再读一个请求的页面到空出来的缓冲空间。数据库缓冲管理器也提供接口,借助该接口,LRM可以让它写回缓冲页面。......
2023-10-28
体系结构是计算机科学中常用的概念。什么是体系结构呢?图2.1数据库系统的基本结构由图2.1可知,数据库管理系统构建在操作系统上,用于管理数据库,给用户提供所需的服务。那么,数据库管理系统的体系结构是怎样的呢?图2.22层数据库系统结构图2.33层数据库系统结构3.多层结构对于大型、复杂的应用,3层结构显得力不从心,因此更多的层次出现在系统中。......
2023-10-28
下面推荐两种主要的Client/Server体系结构:对象服务器体系结构和页面服务器体系结构。对象服务器体系结构里不要求服务器逐个将对象发送给客户端,可以成组发送。图15.7所示的是页面服务器体系结构,早期在页面服务器体系上的性能研究要多于对象服务器体系结构的。......
2023-10-28
本节介绍分布式数据库管理系统C-POREL的体系结构。在秉承其先驱POREL的基础上,C-POREL根据系统体系结构的特点进行了适应性改进。POREL系统的设计目标可以简述如下。下面讨论POREL系统及其软件结构。首先对POREL的用户接口和逻辑结构进行介绍。POREL和C-POREL的逻辑结构可以用图2.15来表示。C-POREL实现的是关系水平分布。与所有的分布式数据库管理系统类似,整个系统的工作可以分为两个阶段:分析阶段和执行阶段。......
2023-10-28
查询优化器体系结构如图6.2所示。图6.2查询优化器体系结构查询优化器的工作过程一般分为两个阶段:重写阶段和规划阶段。在集中式系统中,查询执行策略可以很好地使用扩展关系代数来表示。集中式查询处理器的主要角色是为给定查询根据等价原理选择最好的关系代数查询表达形式。同时,除了要选出关系代数运算的顺序外,分布查询处理器还需确定最佳的运算执行节点。......
2023-10-28
图12.1带全局概念模式的MDBS的体系结构图12.1中,LIS表示本地内部模式,LCS表示本地概念模式,LES表示本地外部模式,GES表示全局外部模式,GCS表示全局概念模式。图12.2不带全局概念模式的MDBS的体系结构相对应的是多语言系统,这种系统允许用户使用本地数据库管理系统的语言存取全局数据库。图12.2所示的是不带全局概念模式的MDBS的体系结构。图12.3MDBS的基本组成......
2023-10-28
目前,关系数据库基本上可以很好地支持商务数据处理应用。我们用图15.1来说明程序设计思想从面向过程到面向对象的演变。 考虑如下对象:〈i1,939〉;〈i2,{i6,i11}〉;〈i3,{6,7}〉;〈i4,[LF:i7,RF:i8,LR:i9,RR:i10]〉。 考虑如下对象:〈i1,TCL〉;〈i2,[name:Jz,my TV:i1]〉;〈i3,[name:Ying,my TV:i1]〉。......
2023-10-28
相关推荐