首页 理论教育分布目录管理方法-分布式数据库技术

分布目录管理方法-分布式数据库技术

【摘要】:SDD-1采用一种全局式的目录体系结构,它的系统目录是作为逻辑上一致的、单一的表或关系来处理的。为了提高性能,SDD-1允许局部节点暂存远程数据的目录登记项的拷贝,并要求保持它们的最新版本。该系统将目录划分为长目录和短目录。SUNDDB采用了类似R*的分布式目录体系结构,并进行了改进和修改。WDDBS-32是武汉大学设计和实现的分布式数据库管理系统。

下面对一些著名的DDBMS的目录体系结构和管理策略作一个简单回顾并进行比较分析,这样才能对DDBMS的典型目录结构有一个具体的和深入的了解。

1.SDD-1

SDD-1是20世纪七八十年代美国国防部委托美国CCA(computer corporation of America)公司设计与开发的一个分布式数据库管理系统。应该说,很多分布式数据库技术的先驱思想来自SDD-1。限于当时的条件,SDD-1系统是在原数字设备公司(DEC公司)的PDP机器和ARPAnet上实现的。

SDD-1采用一种全局式的目录体系结构,它的系统目录是作为逻辑上一致的、单一的表或关系来处理的。像一般的用户数据一样,这张表可以分片和建立副本,目录数据可以在数据模块节点之间分布和重复。如前所述,这样的系统显得统一、规整。为了提高性能,SDD-1允许局部节点暂存远程数据的目录登记项的拷贝,并要求保持它们的最新版本。这就会引起关于高速缓冲存储器(Cache)的同步更新问题。因此,SDD-1的目录数据像用户数据那样存储。

2.Distributed Ingres

Distributed Ingres是第一个关系型数据库管理系统Ingres[1]的分布式版本。Distributed Ingres的目录体系结构是全局的。它把数据对象分为两类:局部关系,它从本地节点上存取;全局关系,它可以从网上的任何节点存取。在网络的每个节点上均需存放每个全局关系的名字和该关系的存储节点等信息。添加或删除一个全局关系,意味着要向全网广播有关该全局关系的名字和存放地点等信息。

3.POREL

POREL系统是联邦德国斯图加特大学设计的一个分布式关系型数据库系统,项目从20世纪70年代末启动,于20世纪80年代初完成。POREL系统的数据对象都是全局性的。该系统将目录划分为长目录和短目录。短目录用于存放一些变化不太频繁的信息,如关系模式的定义、关系数据的分布等。短目录存放于网络的每个节点上,以保证全网的一致性。长目录用于存放一些变化较为频繁的信息,如子关系的基(cardinality)、属性值的分布、存取的路径信息等。长目录存放在相应数据存放的节点上。POREL系统的目录体系结构也是全局的,短目录的变化涉及网上的每一个节点。为了保证短目录的全网一致性,当定义或添加、删除、修改短目录时(相当于“写”目录时)都必须进行全网封锁,这一开销是非常大的,显然会极大地影响系统的使用效率

4.System R*

System R*是IBM公司San Jose实验室继集中式数据库管理系统System R(其产品化版本演化为DB2)之后研制的一个分布式实验系统,它特别强调节点的自治性。

System R*的分布式目录体系结构要点包含以下几个方面。(www.chuimin.cn)

●每个节点上的目录只存放在该节点上生成的数据对象中,或者存储在该节点的数据对象的目录登记项中。

●若某数据对象未存放在它出生的节点上,则在出生节点的目录中需有该数据对象的一个登记项,用于指示该数据对象的当前存放地点。

●引入数据对象的系统范围名(system wide name,SWN),它是该数据对象在全系统范围内的唯一标识。SWN由以下四个字符串分量组成:

USER@USER-SITE.OBJECT.NAME@OBJECT-SITE

这四个字符串分量分别为用户名(若默认,则指正在进行处理的当前用户)、用户所在节点名(若默认,则指当前节点)、数据对象名(不允许默认)和数据对象的生成节点名(若默认,则指当前节点)。系统范围名(SWN)的格式和语义规定了它允许不同的用户使用同一对象名去访问不同的数据对象,也允许不同的用户使用不同的对象名访问同一数据对象。这样一来,就使得一个现成的数据库节点加入R*中时无须改动它已经使用的数据对象的名字,也无须在全网范围内命名时再进行调整,从而使系统的增长比较简单、顺利。可以看出这种表示方式和后来的Internet命名形态十分相似。

R*的分布式目录体系结构既支持了用户应用的单一系统映像,又能对分布在网上的数据对象进行透明的存取,同时也维护了节点的自治性,使每个节点都能管理并控制它自己的局部数据对象及其目录登记项。

R*提出的分布式目录体系结构有两个目标:其一是向用户提供单一的系统映像,使数据对象在网络的各节点上的分布对用户透明。用户不必顾及所用数据对象的存放地点,也不用考虑它的查询在何处运行。其二是提供节点自治性,对个别节点的加入和退出,对系统的增长提供相当的灵活性、健壮性和稳定性。

值得注意的是,20世纪80年代中期是我国分布式数据库系统研制的高潮,除了CPOREL外,一些著名大学也在研制各自的分布式数据库管理系统,例如东南大学研制的SUNDDB、武汉大学研制的WDDBS-32等。

SUNDDB采用了类似R*的分布式目录体系结构,并进行了改进和修改。

WDDBS-32是武汉大学设计和实现的分布式数据库管理系统。其全局目录/辞典(GD/D)采用全复制式对GD/D进行管理。所谓全复制式,即在每个节点上都保存所有的GD/D信息。这种目录体系结构增加了节点的自治性,但要付出一些存储代价,以及需要维护各节点目录副本的一致性。