(计算机应用技术专业论文)分布式数据库开发平台的研究.pdf_第1页
(计算机应用技术专业论文)分布式数据库开发平台的研究.pdf_第2页
(计算机应用技术专业论文)分布式数据库开发平台的研究.pdf_第3页
(计算机应用技术专业论文)分布式数据库开发平台的研究.pdf_第4页
(计算机应用技术专业论文)分布式数据库开发平台的研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)分布式数据库开发平台的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式数据库开发平台的研究 夏伟伟( 计算机应用技术) 指导教师:张文东高工 摘要 分御式数据库管理系统的极端复杂性使得其环境的建立非常困难, 所以已经设计出的原型系统并没有被推广使用,到目前为止一般使用 o r a c l e 、s y b a s e 等商业数掘库产品集成一些分布式数据库。高校分布式数 据库实验也是如此。虽然o r a c l e 、s y b a s e 等基本都支持分布式数据库应用, 然而它在实现分布式数据库管理系统的技术和方法时,软硬件投资大, 数据管理复杂,需要进行复杂的配置,所以它并不方便做高校分布式数 据库实验系统。 通过对现有分布式数据库原型系统和商业分布式数据库管理系统产 品的研究,设计并实现了一个较为合理的分布式数据库开发平台,包括 以下内容: ( 1 ) 提出了平台的总体模型; ( 2 ) 定义了数据字典和数掘操作所需要的语法; ( 3 ) 设计并实现了语法分析模块、定位模块和优化模块等功能模块。 实践证明,该平台能够实现分布式数据库管理系统的基本操作,满 足高校分卸式数据库实验的要求,对分布式数据库管理系统的研究和高 校教学有一定的意义。 关键词:分布式数据库管理系统,数据字典,分片,负载预测 r e s e a r c ho f d i s t r i b u t e dd a m b a s e d e v e l o p i n gp l a t f o r m x i aw e i w e i ( c o m p u t e r a p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db ys e n i o re n g i n e e rz h a n gw e n d o n g a b s t r a c t d i s t r i b u t e dd a t a b a s ei r u m a g e m c n ts y s t e mi sd i f f i c u l tt ob eb u i l tb e c a u s e o fi t se x c e s s i v ec o m p l e x i t y , a n dt h eb u i l tp i o n e e rs y s t e m sh a v en o tb e e n p o p u l a r i z e da n du s e d b e c a u s eo f t h o s er e a s o n s ,o r a c l ea n ds y b a s ed a t a b a s e s m a n a g e m e n ts y s t e mi su s e da st h ed i s t r i b u t e dd a t a b a s em a n a g e m e n ts y s t e m t h o u g hp u t t i n gd i s t r i b u t e dd a t a b a s es y s t e m st o g e t h e r s od o e st h ee x p e r i m e n t i nm o s tu n i v e r s i t i e s h o w e v e r , o r a c l ea n ds y h a s ec a n n o t i m p l e m e n tt h e t e c h n i q u eo f d i s t r i b u t e dd a t a b a s em a n a g e m e n ts y s t e mw i t h o u tg r e a ts o f t w a r e a n dh a r d w a r ei n v e s t ,a n dc o m p l e xd a t a n m n a g e m e n ta n dc o n f i g u r e i naw o r d , o r a c l ed a t a b a s e s m a n a g e m e n ts y s t e m d o e sn o tc o n v e n i e n tt ob et h e e x p e r i m e n ts y s t e mf o rc o l l e g es t u d e n t s t h i s p a p e rd e s i g n s d i s t r i b u t e dd a t a b a s e m a n a g e m e n ts y s t e mb y r e s e a r c h i n gp i o n e e rs y s t e m sa n do r a c l ed a t a b a s e sm a n a g e m e n ts y s t e m ( 1 ) p r e s e n t sas y s t e ms t r u c t u r e ; c ) d e s i g n sd a t ad i c t i o n a r ya n ds y s t e ms y n t a x ; ( 3 ) a c h i e v e st h ep a r s i n gm o d u l ea n dl o c a l i z a t i o nm o d u l ea n do p t i m i z e m o d u l e t h i sp l a t f o r mc a l li m p l e m e n tt h eb a s i co p e r a t i o no fd i s t r i b u t e dd a t a b a s e m a n a g e m e n ts y s t e m , a n dm e e tt h er e q u e s to fe x p e r i m e n to fd i s t r i b u t e d d a t a b a s e ,a n dh a sac e l t a i ns i g n i f i c a n c eo f u n i v e r s i t yt e a c h i n g k e yw o r d s :d i s t r i b u t e dd a t a b a s em a n a g e m e n ts y s t e m , d a t ad i c t i o n a r y , f i a g m e n t ,l o a df o r e c a s t i n g 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果。也不包含为获得中国 石油大学或其它教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 签名: ;年毕月弓日 关于论文使用授权的说明 本人完全了解中国石油大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件及电子版,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手 段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名:良难聋 僻 妇乡日 导师签名: 蚯i 盏: 纠,6 年 中月乡日 中国白油大学( 华东) 硕十论文第1 章前言 第1 章前言 1 1 论文研究的背景及意义 1 1 1 研究背景 由于数据库应用需求的拓展以及计算机网络技术的飞速发展和广泛 应用,使分布式数据库系统的研究和开发变得更加活跃。在应用领域, 尤其是地域上分散而管理上又相对集中的组织机构,如国防、行政、金 融、交通、教学等重要部门,由于它们的数据通常是分布的,所以需要 分布式数据库管理系统的支持。随着应用需求的不断扩大和要求的提高, 与分布式数据库管理系统有关的问题也随之而来。 由于分布式数据库开发的极端复杂性使得建立分布式数据库管理系 统环境非常困难,而且已经设计出的原型系统并没有被推广使用。目前 的数据库产品系统如o r a c l e 、s y b a s e ,它们虽然支持分布式数据库应用, 然而在实现分布式数据库管理系统的技术和方法时,软硬件投资大,数 据管理复杂,需要进行复杂的配置“1 。 到目前为止,许多高校对分布式数据库实验或仅限于理论,或使用 o r a c l e 数据库管理系统,并没有一个现成的开发平台供学生实验之用。我 校学生分布式数据库学习也处于这种情况。 1 1 2 研究意义 ( 1 ) 理论研究的意义 本文研究了分布式数据库管理系统实现过程中所面临的技术问题, 中国石油大学( 华东) 硕士论文第1 章前言 设计并实现了分布式数据库开发平台。本文根据需要在对平台的总体框 架进行设计时根据层次进行了细化,细化为各种功能模块,以便于功能 的添加和修改。同时,由于查询时耗时多、代价大,平台在对有副本的 数据查询时使用了负载预测技术以减少工作时延。这些对分布式数据库 管理系统的相关技术研究具有借鉴价值。 ( 2 ) 实践的意义 本课题实现的开发平台底层采用a c c e s s 数据库,数据管理简单,不 需要进行复杂的安装和配置。平台实现了分布透明性,以及查询时的分 片透明性。同时本平台可以使高校学生充分了解到分布式数据库中实现 的分片、分布以及查询过程,有助于学生了解分布式数据库的相关概念 和操作,对高校教学有一定意义。 1 2 国内外研究现状 对分布式数据库开发平台的研究起源于2 0 世纪7 0 年代中期,由于分 布式数据库系统无论在军事上还是在民用上都有着深刻的应用背景,因 此,各国都投入了大量的人力、财力和物力来研制分布式数据库管理系 统。 1 2 1 国外研究现状 ( 1 ) s d d - 1 分布式数据库管理系统嘲 美国国防部委托c c a 公司设计和研制的s d d 1 分布式数据库管理系 统采用了关系数据模型,支持单语句事务,查询语言是d a 嘲a i l g u a g e ,支 持水平和垂直分片,并支持数据的副本,提出了时间戳、半连接、可靠 通讯等概念。它概括了分布式数据库的几乎全部理论和实现技术,是分 2 中国石油大学( 牛东) 硕十论文第1 荦前言 布式数据库发展中的一个典范。 ( 2 ) r 牛系统”1 美国i b m 公司的s a nj o s e 研究室研制的胁系统采用了自顶向下,宽度 优先的设计方法。它以s q l 作为用户接口语言。结点自主性足胁系统的 突出特点。r 木系统的目录采用分布式目录管理策略,这种分白式目录管 理是面向用户的。r 木系统中引入数据对象的系统范围名s w n ( s y s t e m 、】l r i d en a m e ) ,它是该数据对象在全系统范围内的唯一标识,其分布透明性 基于唯一的、全系统范围内命名的数据对象和分布的一系列的数据库站 点。 ( 3 ) s i r i u s d e l t a 系统和m i c r o b e 系统“1 法国i n r i a 研制了s i r i u s d e l t a 系统。s i r i u s d e l t a 系统的设计 可适应网上的非均质结点,它采用关系模型,支持对关系的水平分片、 垂直分片和混合分片,并发控制采用封锁方法和死锁预防策略。 法国1 m a g 研究中心研制了m i c r o b e 系统。m i c r o b e 系统是小型 机上的分布式数据库管理系统,用p a s c a l 语言实现,它支持功能界于 q u e l 和s q l 之间的m i q u e l ,其分布式查询优化是动态执行的。 ( 4 ) 商业分布式数据库管理系统 9 0 年代已有部分产品进入市场,如o r a c l e 、s y b a s e 基本都支持分布式 数据库应用,但由于系统复杂性对于完全透明的分布式数据库还难于达 到,所以它们作为关系数据库管理系统,还不是真正的分布式数据库管 理系统产品。 o r a c l e 数据库管理系统通过o r a c l en e t 建立客户和服务器数据库之 间完整的连接,使之能通信,这样构造成分布式数据库系统。其工作 过程为”:在服务器主机上打开o r a c l e 数据库和监听器,以监听来自客户 的数据库请求,在监听器上需要设定监听的发送请求的客户地址,一旦 3 中国石油大学( 华东) 硕士论文第1 章前言 监听的地址发出数据库请求,监听器接受并把它传递给数据库管理系统, 以处理客户请求。 1 2 2 国内研究现状 我国对分布式数据库平台的研究是8 0 年代初开始的,目前已经研制 出一些原型系统。其中有中国科学院数学所设计、并和上海科技大学及 华东师范大学合作实现的c p o r e l 系统、南京大学设计和实现的 d d b a s e i i 和d d b a s e i i i 系统、武汉大学数据库组研制的w d d b s 系统、 东南大学计算机系开发的s u n d d b 系统、人民大学数据与知识工程研究 所研制的d o s s e l s 、东北大学研制的d m u f o 等系统。 ( 1 ) c p o r e l 系统m c p o r e l 系统以p o p , e l 为蓝本,其主要目标是实用性和有效的可移 植性,它是关系系统,支持关系的水平分片,以r d e l 作为用户接口语言, 宿主语言采用p a s c a l ,并主要以p a s c a l 作为实现语言。 ( 2 ) s u n d d b 系统“1 s u n d d b 系统采用关系模型,支持多复本、关系水平分片并提供快 照功能,其全局数据库语言为d s q l 。 ( 3 ) w d d b s 一3 2 系统忉 w d d b s 一3 2 系统是关系系统,以l - s q l * 为存取语言,支持水平分片、 垂直分片、混合分片和水平诱导分片,支持视图和数据副本,进行查询 优化。 1 3 本文的组织结构 本文主要研究了分布式数据库开发平台的设计原理和实现技术,其 4 中国后油大学( 华东) 硕卜论文 第l 章前言 中第三、四章是本文重点。本文的组织结构如下: 第一章介绍了本课题的相关背景、研究的目的和意义。 第二章介绍了平台设计所涉及到的分布式数据库管理系统的相关技 术。 第三章介绍了平台的设计目标,提出了系统的体系结构,构建了平 台的总体模型,详细阐述了数据字典的设计、数据的定义和操作;为下 一章平台的实现进行了总体架构。 第四章介绍了平台开发环境的选择、用户界面的组织以及各操作模 块的具体实现。本章中包含了本文的关键技术及创新点。 第五章介绍了论文的主要工作和创新,并对下一步工作进行了展望。 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 第2 章i ) d b i i $ 及相关技术 d d b m s ( 分布式数据库管理系统,全称为d i s t r i b u t e dd a t a b a s e m a n a g e m e n ts y s t e m ) 是一组软件,它负责管理分布环境下逻辑集成数据 的存取、一致性和完备性嗍。同时,由于数据的分布性,在管理机制上 还必须具有计算机网络通信协议的分布管理特性。 d d b m s 由四个基本部分组成: ( 1 ) 局部数据库管理系统,负责局部数据库的管理和维护; ( 2 ) 数据通信子系统,负责各站点之间的数据通信; ( 3 ) 数据字典; ( 4 ) 分布数据管理子系统,按协议共同实现分布数据库的管理和用户 应用程序的执行。 d d b m s 的主要功能: ( 1 ) 实现应用程序对数据库的远程获取; ( 2 ) 决定分布透明性的级别; ( 3 ) 支持数据库的管理和控制; ( 4 ) 管理事务的并发控制和恢复。 分布式数据库模式结构阱一般划分为四层:全局外层、全局概念层、 局部概念层和局部内层。四层中的相应模式之间的转换由全局数据库管 理系统和局部数据库管理系统提供的多层映像来实现。该模式结构还可 6 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 以分为两大部分:下面是集中式数据库的模式结构,代表了局部场地上 局部数据库系统的基本结构:上面是分布式数据库系统增加的模式级别。 四层模式的划分,适用于所有的分布式数据库系统。 图2 - 1 分布式数据库管理系统的模式结构 ( 1 ) 全局外层 分布式数据库的全局外层和集中式数据库一样,由多个用户视图组 成。它们是全局应用的用户视图,是全局概念模式的子集,是分布式数 据库特定的全局用户对分布式数据库的最高层抽象。 分布式数据库与集中式数据库的视图有同样的概念,不同的是它不 是从某一个具体场所中的局部数据库中抽取,而是从一个虚拟的由各个 局部数据库组成的逻辑集合中抽取。然而对全局用户而占,在分布式数 据库的任何场所都可以认为所有的数据库都在本场所,而且他们只关心 他们自己所使用的那部分数据。 7 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 如果是对完全透明的关系模型的分布式数据库结构,则其视图和集 中式数据库视图一样,其定义方式也基本相同,因此全局用户在使用视 图时,不必关心数据的分段和具体的物理分配细节。 若为非完全透明的分布式数据库,则在视图定义中,根据透明性支 持的程度给出各自所需的指定条件,如所需的数据细节,物理存取的细 节等。 ( 2 ) 全局概念层 全局概念层是分布式数据库的整体抽象,包含了全部数据特性和逻 辑结构。是对数据库的全体的描述。 对全局用户具有分布透明特性来说,分布式数据库全局概念具有三 种模式描述信息: ( a ) 全局概念模式 全局概念模式定义了分布式数据库中数据的整体逻辑结构,是分布 式数据库的全局概念视图。该模式包含全局概念模式名、属性名、每种 属性的数据类型定义和长度。 ( b ) 分片模式 分片模式是描述全局数据的逻辑划分视图。它是全局数据逻辑结构 根据某种条件的划分,即成为局部的逻辑结构,每一个逻辑划分是一个 片段,或称为分片。 ( c ) 分配模式 片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的 不同结点上,分配模式描述局部逻辑的局部物理结构,是划分后的片段 的物理分配视图。 从全局模式到分段模式再到分配模式,它们之间依然存在着映射。 全局概念模式分段模式映射是一对多的,分段模式分配模式可以是一 8 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 对多的,也可以是一对一的,这由数据分布的冗余策略决定。当一对多 时,表明分段数据有多个副本存储在不同的场地上,且同一场地一般情 况下不允许有相同的副本存在。当一对一时,则是非冗余的,即分段数 据只有一个副本。 对于分布式数据库的全局数据分布性的描述,关系数据模型是最为 有利的。全局概念模式由一组全局关系模式的定义组成;分片模式是对 全局关系模式的逻辑划分定义,即片段定义,或子关系模式定义组成, 因而可以将片段看作是全局关系的逻辑组成,即逻辑片段;分配模式是 对子关系模式的描述,因此分配模式决定了子关系的物理场地,即决定 子关系的物理片段。 全局概念层定义了全局数据的逻辑结构、逻辑分布和物理分布,但 并不涉及全局数据在每个局部场地上的物理存储细节。所以,全局概念 层仍然是概念层视图或全局d b a 视图。 ( 3 ) 局部概念层 局部概念层有局部概念模式描述,是全局概念模式的子集,全局概 念模式经逻辑划分后被分配在各局部场地上。在分布式数据库局部场地 上,对每个全局关系有该全局关系的若干个逻辑片段的物理片段集合, 该集合是一个全局关系在某个局部场地上的物理映像,其全部则组成局 部概念模式。如果两个场地上的所有物理映像都相同,则其中一个场地 上的物理映像必是另一个场地的副本,因此两个场地的局部概念模式亦 必相同。如果分布式数据库只支持全局应用,则局部概念模式可理解为 局部数据库的概念模式和外模式。如果分布式数据库还支持局部用户, 则局部用户定义的局部数据不参加分布式数据库的全局数据,因此局部 概念层还应划分局部外模式和局部模式。 当全局数据模型与局部数据模型不同时,物理映像与各局部数据库 9 中国石油大学( 华东) 硕十论文第2 章d d b m s 及相关技术 的数据模型之间必须有数据模型的转换。即使是数据模型相同时,也可 能有数据类型和格式的各种转换。也就是说,各局部数据库是多种数据 模型构成的数据库组成分布式数据库时有一个统一的全局描述问题,即 数据模型的同种化的集成,而对于不同的规格的统一,则称之为一体化。 这就是分布式数据库中全局概念层到局部概念层映射模式的描述。 ( 4 ) 局部内层 局部内层是分布式数据库中关于物理数据库的描述。 2 3 分布式数据库目录管理 在分布式系统中,系统目录中记载着d d b 的分布细节及其它信息, 包括:逻辑模式结构、模式的分片及分配、物理结构、逻辑结构到物理 结构的映像规则,以及权限、完整性约束、视图意义信息和语义规则等 约束信息。目录本身也是一个分布式元数据库,所以它在分布式数据库 系统中处于十分重要的地位。 ( 1 ) 目录的组织方式“” ( a ) 独立式 独立式是指利用操作系统提供的文件管理功能来建立和维护目录信 息,这时目录系统具有独立的数据定义,装入,查询,修改等功能。 ( b ) 分离式 分离式是指利用d b m s 建立和维护目录信息,但它的用户界面与功能 均独立于d b m s 。 ( c ) 嵌入式 嵌入式组织结构中d b l d s 与目录系统一体化,即数据目录系统作为 d b m s 的子集而存在。 1 0 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 ( 2 ) 目录的逻辑结构 目录的逻辑结构n 1 如图2 2 所示。 图2 - 2 目录的逻辑结构 ( a ) 网络目录 网络目录中含有运行、优化分布式数据库的信息,包括通信线路的 有关参数,各站点c p u 的工作负载,磁盘空间占有等。 ( b ) 全局外模式目录 全局外模式目录用来存取全局外模式的有关信息,数据结构、存储 位置、划分准则等。 ( c ) 全局概念模式目录 全局概念模式目录提供全局数据关系,公共过程等信息,以反映分 布式数据库的整体观念,提供唯一的系统映像。 ( d ) 局部外模式目录与局部概念模式目录 两个目录分别与全局外模式目录和全局模式目录类似,不过它们包 含的信息仅涉及各自站点的处理对象而与其他站点无关。 ( e ) 内模式目录 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 内模式目录是分布式数据库系统的局部数据库存储描述,它与集中 式系统安全相同。 ( 3 ) 目录的分布方式“4 ( a ) 集中式管理 这种管理是将整个系统目录只存放在一个中心结点上。 优点:系统目录只存放一次,便于维护。 缺点:对于不在中心结点的应用就失去了本地性,严重损害结点的 自治性,降低了系统的可用性。同时,中心结点无疑将成为“瓶颈”, 一旦中心结点发生故障,整个系统将会瘫痪。 ( b ) 完全重复式管理 这种方式是在每个结点重复存放系统目录。 优点:各个结点安全能自治。 缺点:增加了一定的存储代价,不容易维护各个结点目录副本的一 致性。 ( c ) 分割式目录管理 系统目录被分段,每个结点只存放与本结点有关的系统目录的分割 信息。当本结点要访问经常操作的数据时,一般无须涉及其它结点。当 结点申请非本场地的数据库时,必须向具有该系统目录分段( 本地目录) 的结点申请并得到有关信息。即使本结点无请求时,有时也必须把有关 本地目录信息传给其它的请求结点。 优点:不会使某个结点成为“瓶颈”,这对自治性有利。由于增加 了本地操作,各结点可并行操作,也提高了系统效率。 缺点:必须对每个结点的本地目录的分配原则、如何申请获得信息 以及由谁来仲裁等问题提出一整套方法。 1 2 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 2 4 数据分片和数据分配 2 4 1 数据分片 数据分片也称为数据划分,是分布式数据库的特征之一。分片设计 的基本目的是产生对全局数据合适的划分方案。好的划分方案不但能减 少应用中的操作量,而且能够使应用具有最大可能的本地性。在分布式 数掘库中,数据存放的单位是数据的逻辑片段。数据分片是指通过选择 和投影这样的关系操作将全局关系作为逻辑划分为若干个片段。 数据分片的方式基本上有两类:独立分片和相关分片“”。独立分片 有水平分片、垂直分片和混合分片;相关分片有诱导分片。水平分片和 垂直分片是两种基本的分片方式。混合分片和诱导分片是较复杂的分片 方式。 ( 1 ) 水平分片 定义:水平分片是将全局关系中的所有元组按水平方向以特定条件 划分为若干个互不相交的子集,每一子集为全局关系的一个片段。 水平分片实际上是关系的选择操作,对r 关系的水平分片得到的片 段是满足r 关系某一谓词条件的子关系。该分片方式得到的片段包含的 数据为全局关系的一些元组,可通过求其片段的并集得到全局关系。水 平分片最适用于具有地点位置特性的情形,它可使每一片段包含具有共 同地理位置特性的数据。 ( 2 ) 垂直分片 定义:垂直分片是将全局关系按垂直方向以属性划分为若干子集, 每个子集足全局关系的一个片段。 垂直分片实际上是对全局关系做投影操作。对r 关系的垂直分片是 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 满足r 关系的部分属性的子关系,这些子关系通常具有某种相同的性质。 垂直分片得到的各个片段中的数据项除主键以外不能重叠,其片段可通 过自然连接得到全局数据库。垂直分片最适用于不同场地执行不同功能 的情形,它可使每一属性集包含对应共同功能的数据。 ( 3 ) 混合分片 定义:混合分片将关系r 按照一给定的属性a 。,以和一组给定 的谓词只,只划分成一组关系模式r 。,疋。 混合分片是水平分片和垂直分片的混合操作,即对关系的选择和投 影操作。可以根据应用的要求先垂直分片后水平分片,也可先水平分片后 垂直分片。 ( 4 ) 诱导分片 定义:诱导分片是对关系r 按另一个已经被水平分片的关系t 在公 共属性a 上的操作。 诱导分片是一种半连接操作,它是水平分片的一个特例。有时一个 全局关系并不是按其本身属性的性质进行分片,而是随其关系的分片而 进行分片的。引入诱导分片的目的在于提高分布式数据库中连接操作的 执行效率。 数据分片应遵循以下原则: ( 1 ) 完全性。 全局数据库中的所有信息必须被完全的划分到片段中,不能有遗漏。 每一片段中的数据也必须全都是全局数据库中的信息。 ( 2 ) 数据库结构的一致性。 全局数据库中数据间的联系与片段中的联系必须一致。划分片段时, 片段的大小和系统性能也是需要考虑的问题。片段是不可再分割的单位, 1 4 中国石油大学( 华东) 硕士论文第2 章d d b m s 及相关技术 当网络中的结点确定以后,该结点的硬盘空间大小制约着片段的大小。 性能问题涉及两方面的因素,即响应速度和可靠性。要提高响应速度, 要求将经常被一起使用的数据划分到同一片段且分配到最常用的场地。 保证数据一致性的系统开销大,从而影响系统的性能,所以设计时,应 以尽可能少的数据重复来实现所需的可靠性。 为了保证分片的正确性,通常采用三个方面的检查“:首先是完整 性的检查,全局关系的所有数据项必须包括在任何一个片段中,不允许 出现遗漏;重构性检查是指所有片段必须能重构成全局关系;最后是不 相交检查,这不是必须的,但是尽量要求划分时不相交。 2 4 2 数据分配 数据分配是指根据需要将分布式数据库中的数据划分为逻辑片段, 再按照某种策略将这些片段分散地存储在各个站点上。在分布式数据库 系统中,数据的分布方式主要有四种“”:可以将所有片段集中在一个场 地,这种类型是集中式,和集中式数据库没有什么区别;也可以将所有 逻辑片段各自分配到不同的场地,不存在数据冗余,这种类型是分割式; 如果考虑检索、更新的频率,降低检索代价或更新代价,提高系统的可靠 性和数据的有用性还可以把逻辑片段分配到不同场地并在其他场地冗余 地建立副本,这种数据类型为复制式;混合式则根据需要在指定的某些场 地冗余地建立副本。 在分布式数据库系统中,信息被分别存储在不同结点的服务器上, 由于频繁的数据查询,如果采用纯分布式数据库“技术,用户的请求需 要在广域网的多个服务器进行查找,将严重影响数据查询的性能;系统 需要较高的可靠性,如果一个站点的出现故障导致该站点数据不可用, 1 5 中国石油大学( 华东) 硕七论文第2 章d d b m s 及相关技术 将严重影响日常工作的进行。因此分布式数据库系统支持冗余分配。 从分配的原则出发,在分布式数据库中的设计中数据尽可能减少远 程存取,也就是说尽可能在离使用场地近的场地上存放逻辑片段,强调 场地自治。数据分配设计的主要目标是“”: ( 1 ) 处理的本地性。对数据的处理主要是指查询操作和更新操作。 实现本地性的日的是为了减少远程访问的次数,以节省通讯费用。 ( 2 ) 分布数据的可用性和可靠性。即在正常条件下应存取的副本不 能使用时,可使用另一副本;在某一站点出现故障或某一副本遭受物理 破坏时,可使用另一副本进行恢复。 ( 3 ) 工作负荷的分布。其目的是利用每个站点计算机的不同能力和 使用率,提高应用执行的并发程度。 ( 4 ) 存储的费用和可用性。即在保证可用性的前提下,尽可能地降 低存储费用。如果想实现上述的全部目标是不现实的,这是因为有些目 标之间存在矛盾。例如( 1 ) 和( 3 ) 。 在分布式数据库系统中,如何得到一个最优化的数据分配方案是分 布式系统性能优化所应该考虑的一个重要的方面,也是系统设计的难点。 分布式数据库中的数据分配的显着特点是其数据分配要考虑不同站点之 间的数据文件的相互作用( 例如j i o n 操作) “”。在广域网中,数据存取 的代价主要是通讯代价,相比之下本地的处理代价可以忽略不计。 1 6 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 第3 章分布式数据库开发平台的设计 3 1 平台的总体设计 3 1 1 设计目标 ( 1 ) 支持水平分片、垂直分片、诱导分片和混合分片; ( 2 ) 实现定义、插入、删除和查询操作; ( 3 ) 实现分布透明性,以及查询时的分片透明性; ( 4 ) 使高校学生充分了解分布式数据库的相关概念和操作。 3 1 2 平台体系结构的选择 目前分布式数据库系统常用的体系结构有两类:基于c s 模式和基 于b s 模式。 在c s 结构中,网络中的计算机分为两个有机地联系起来的部分: 客户机和服务器。所有客户机与数据库服务器相连,服务器负责数据处 理,客户端负责与用户交互,向后台服务器发出请求。对于用户请求, 如果客户机能够满足就直接给出结果,否则就交给服务器来处理。因此, 这种模式可以合理均衡事务处理,充分保证数据的完整性和一致性。 b s 模式由浏览器、w e b 服务器、数据库服务器三个层次组成,其本 质上是一种简化了客户端的特殊的客户朋匪务器结构。在这种模式下,客 户端使用通用的浏览器代替形形色色的各种应用软件,用户的所有操作 都足通过浏览器进行的。w e b 服务器负责接受h t t p 查询、修改等请求, 然后根据请求条件到数据库服务器获取相关数据,再将结果翻译成h t m l 1 7 中国石油大学( 华东) 硕士论文 第3 章分布式数据库开发平台的设计 和各种页面描述语言,送回提出请求的浏览器。 相对于b s 模式,c s 模式的优点表现在以下几个方面“”: ( 1 ) 交互性强 交互性强是c s 模式固有的一个优点。在c s 模式中,客户端有一 套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,是 b s 模式所不能及的。 ( 2 ) 存取模式更安全 c s 模式提供了更安全的存取模式,由于c s 模式是配对的点对点 的结构模式,在c s 模式的平台上采用的是适用于局域网、安全性比较 好的网络协议,所以安全性可以得到较好的保证。 ( 3 ) 网络通信量小,响应时间短 由于b s 模式逻辑上有三层结构,而且在物理上的网络结构仍然是 原来的以太网或环形网,在层与层之间的通信需要占用同一条网络线路。 而c s 模式中只有两层结构,所以相同的任务,c s 模式响应时间极大 降低。同时c s 模式的网络通信量只包括客户机和服务器之间的通信量, 所以网络通信量大大少于b s 模式,减少了网络带宽和成本的需求。 总而言之,c s 模式适用于局域网、需要快速开发的、数据库操作 要求性能高的以及安全性要求高的分布式系统;而b s 模式适用于广域 网、异构性、跨平台能力的要求高的分布式系统。 由于本平台是应用与局域网的同质同构分布式数据库管理系统,对 数据库操作要求性能高,网络通讯量越小,响应时间越短,对本平台越 有利。所以本平台采用基于c s 模式的体系结构。其结构模型如图3 一l 所示。 1 8 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 l 皿 一垣丑国 p i l 酐 接 噩 口 影 网 屉篇| 刖 络 li 图3 - 1 平台的结构模型图 3 1 3 开发平台的总体模型及工作流程 本平台的总体模型如图3 - 2 所示: 图3 - 2 平台的总体模型 本平台的工作流程为:用户登陆系统后,数据字典检测登陆用户能 合法性,用户进入用户界面并发送操作请求。语法分析模块对用户请妹 1 9 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 进行操作类型( 检查是否为平台支持的操作) 和语法检查,并将请求按 不同的操作类型进行分解,如果是查询操作还需转化为查询树,否则直 接交给命令处理模块处理。定位模块将上一阶段得到的查询树中的每一 个关系,根据数据字典中的分片信息构造出一颗局部查询树。优化模块 根据查询优化策略对局部查询树进行处理,尽量使得查询总代价最小。 命令处理模块将任务分配给相应的服务器,并将服务器的处理结果汇总 并返回到用户界面上,如果操作对涉及全局数据字典或本地数据字典, 则对数据字典进行相应的操作。 3 2 数据字典的设计 数据字典是一组包含着数据库信息的表和视图,就是系统目录。数 据字典的设计是平台设计的核心内容,它设计的好坏直接关系到分布式 数据库平台性能的优劣。 3 2 1 数据宇典组织方式的选择 本平台的数据字典采用独立式方组织方式,利用操作系统提供的文 件管理功能来建立和维护数据字典信息,使数据字典可以进行独立的数 据定义,装入,查询,修改等功能。 3 2 2 数据字典分布方式的选择 本平台的数据字典采用一种中间分布方式设计,在其中的两个或两 个以上服务器( 称其为超级服务器) 的数据库中存放全局数据字典( g d d ) , 在其它服务器( 称其为子服务器) 数据库中只存放本地数据字典( l o d ) , 本地数据字典只存放在该结点上生成的数据对象或存储于该结点的数据 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 对象的目录登记项。这样既可以防止中心结点成为“瓶颈”,提高自治 性,又可以适当减少存储代价。 3 2 3 数据字典的内容 平台的数据字典存放着数据的分片描述,片段的位置描述,以及本 地名字的映射等一系列信息,主要包括: ( 1 ) 全局模式描述:整个分布式数据库管理系统中服务器、数据库 与数据对象的定义,以及它们之间的相互关系; ( 2 ) 全局用户信息:用户信息及有关用户存取权限和安全规则的定 义; ( 3 ) 分片模式描述:对全局关系的逻辑分片方法,片段定义; ( 4 ) 分布模式描述:建立逻辑片段与物理映像之间的对应,即定义 片段的物理存放结点,片段的位置分配: ( 5 ) 统计信息:记录有关服务器的特征参数等。 3 2 3 1g d d 的设计 ( 1 ) 全局模式描述 ( a ) 服务器状况表s y s f w q s y s f w q 表反映了平台中所有服务器的状况,其内容包括:服务器的 系统规模( 即服务器的个数) 、服务器名称、服务器端口号、服务器的 状态和服务器的使用情况统计。如表2 - i 所示: 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 表2 - 1s y s f w q 表 字段数据类型长度是否主键是否非空 服务器名( 即站点名)文本 5 0是是 服务器i p文本 1 5否是 系统规模整型否是 服务器端口号整型否是 c p u 主频整型否是 前端总线频率整型否是 与其它服务器的距离单精度型否是 使用的总进程时间整型否是 总进程数整型否是 不: ( b ) 服务器数据库映射表s y s f s s y s f s 表该表的内容反映了服务器上分配了哪些数据库。如表2 2 所 表2 - 2s y s f s 表 字段数据类型长度是否主键是否非空 服务器名文本 5 0是是 数据库名文本 2 0否是 ( c ) 系统数据库表s y s s g s y s s g 表反映了数据库与关系或片段( 合称为数据对象) 的相互关系, 如表2 3 所示: 表2 - 3s y s s g 表 字段数据类型长度是否主键是否非空 数据库名文本 2 0 是是 数据对象名文本 2 0否 是 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 ( d ) 副本状况表s y s t b s y s f b 表记录了同一个数据库、关系或片段的多个副本保存一起,以 便于保证副本的一致性。如表2 4 所示: 表2 - 4s y s f b 表 字段数据类型长度是否主键是否非空 数据库数据对象名文本 2 0是是 服务器名文本 5 0是是 状态 b o o l e a n否 是 是否一致 b o o l e a n否是 未提交的事务名称文本 5 0否否 ( 2 ) 全局用户信息 通过全局用户信息实现平台的多级安全管理。 ( a ) 用户描述目录表s y s l o g s y s l o g 表包含有用户名、内部标识、当前状态( 在线不在线) 、使 用密码,通过它检测登陆用户的合法性。如表2 5 所示: 表2 - 5s y s l o g 表 字段数据类型长度是否主键是否非空 用户名文本 2 0是是 当前状态文本 2 0是是 使用密码文本 6否是 ( b ) 用户描述目录衷s y s e q q x s y s c q q x 表记录了用户的操作权限,通过它检测登陆用户对数据对象 操作的合法性。如表2 6 所示: 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 表2 - 6s y s c , q q x 表 字段数据类型长度是否主键是否非空 用户名文本 2 0是 是 数据对象名文本 2 0否是 创建 b o o l e a a否 是 选择 b o o l e a n否是 插入 b o o l c a n否是 删除 b o o l e a n否是 同权限关系名文本 2 0否否 ( 3 ) 分片分布模式描述 为了实现数据的分片和分布,全局数据字典还需要由另外三部分组 成:第一部分是一个h a s h 表,记录了所有关系的信息,存放在s y s m x b 表 明细表中;第二部分也是一个h a s h 表,记录了所有的数据分片信息,存 放在s y s p d 片段表中;第三部分是划分动作树,将关系和片段联系在一起。 ( a ) 表明细表s y s m x b s y s m x b 表中存放了表名、属性( 字段) 、关键字标识等信息,它将 整个系统中所涉及的所有的表有机的组织起来。如表2 - 7 所示: 表2 7s y s m x b 表 字段数据类型长度是否主键是否非空 关系名文本 2 0是是 关系的字段名文本 2 0否是 字段的数据类型文本 2 0 否是 字段的长度整型否是 关键字标识文本 2 0 否是 ( b ) 片段表s y s p d s y s p d 表记录了所有的分片信息,包括片段名、片段的字段名、分片 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 的域( 即划分的条件) ,分片类型( 垂直划分、水平划分、诱导划分、 混合划分和不划分五种类型) ,片段所在服务器的i p 地址,备份关系等 属性。由于查询操作中经常需要知道片段的备份关系,为了尽量减少多 表之间的连接操作,所以s y s p d 片段表中包含了片段的备份关系这一字 段,用来存储存放这一片段的其他服务器地址,地址之间用分号分割即 可。 表2 - 8s y s n 表 字段数据类型长度是否主键是否非空 片段名文本 2 0是是 所在服务器名文本 5 0是是 片段的字段名文本 2 0否是 分片的域文本 1 0 0否否 分片类型整型否是 备份关系文本 2 0 0否否 ( c ) 划分动作树 由于对表和片段之间的映射关系查询操作非常的频繁,为了减少查 找过程中对磁盘的读写次数,提高查找效率,我们以二叉树形式存储。 根据分片类型的不同划分动作树的结构也不相同。 如果对表不进行分片,则树的根结点记录了逻辑表,叶子结点记录 了表所在站点的i p 地址。 如果对表进行分片,则树的根结点记录了进行分片的逻辑表,中间 结点记录了划分条件,叶子结点记录了片段所在站点的i p 地址和片段的 名称;不同之处在于水平分片和诱导分片的划分条件足简单谓词,垂直 分片的划分条件是表的属性,混合分片的划分条件可能是谓词和表的属 性的结合。 中国石油大学( 华东) 硕士论文第3 章分布式数据库开发平台的设计 划分动作树结构如图3 3 所示。 1 不分片 2 分片 图3 - 3 划分动作树结构图 3 2 3 2l d d 的设计 局部数据字典存放本地结点数据的描述,以便于当操作只涉及本地 站点时减少超级服务器的负载量。它包括以下几个主要表: ( 1 ) 本地表明细表b d b b d b 表存放了本地结点创建的表名、表的别名、表的属性名等信息。 表2 - 9b d b 表 字段数据类型长度是否主键是否非空 关系名文本 2 0是是 关系的字段名文本 2 0否 是 字段的数据类型文本 2 0否是 字段的长度整型否 是 关键字标识文本 2 0 否是 片段是否在本地 b o o l e a n 否是 ( 2 ) 本地片段表b d p d b 中国石油大学( 华东) 硕

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论