(电力系统及其自动化专业论文)分布式数据库系统研究与应用.pdf_第1页
(电力系统及其自动化专业论文)分布式数据库系统研究与应用.pdf_第2页
(电力系统及其自动化专业论文)分布式数据库系统研究与应用.pdf_第3页
(电力系统及其自动化专业论文)分布式数据库系统研究与应用.pdf_第4页
(电力系统及其自动化专业论文)分布式数据库系统研究与应用.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(电力系统及其自动化专业论文)分布式数据库系统研究与应用.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t t h i s p a p e r s t u d i e sa b o u tt h e t h e o r y 、d e s i g n a n dr e a l i z a t i o nt e c h n i co f d i s t r i b u t e dd a t a b a s es y s t e m ,a n dr e a l i z e sad a t a b a s ea p p l i c a t i o ns y s t e mb a s e do n c l i e n t s e r v e rm o d e l d i s t r i b u t e dd a t a b a s e s y s t e m c a t e r st ot h en e e df o ri n f o r m a t i o n s y s t e m a p p l i c a t i o n ,i sa d a p t e dt ot h em a n a g i n gm e t h o do ft o d a y sg r o u p s t h ep a p e r i s m a i n l y a b o u tt h e q u e r y i n go p t i m i z i n g ,t h ed i r e c t o r ym a n a g e m e n t a n dt h e s y n c h r o n i z a t i o nc o n t r 0 1 b e c a u s ed i s t r i b u t e dd a t a b a s es y s t e mi sn o tt h es i m p l ec o m b i n a t i o no fi n t e r n e t a n dd a t a b a s es y s t e m ,i ti sd i f f i c u l tt or e a l i z ea n dt h e r ei sn o tr e a ld i s t r i b u t e dd a t a b a s e s y s t e mf o rc o m m e r c i a lu s en o wb u t ,u n d e rt h eg r e a tn e e df o ri n f o r m a t i o ns h a r e , a p p l i c a t i o n b a s e dc l i e n t s e r v e rm o d e lt h a ti se a s i e rt or e a l i z e c o m p a r a t i v e l y c l i e n t s e r v e rs y s t e md e a l sw i t hd a t as e r v i c ea n dn o r m a la f f a i r so nt w oc o m p u t e r s , a n dr e a l i z ed a t as h a r e b yt h er e a l i z a t i o np r o g r e s so fs h i d ac a t v ( c o m m u n i t ya n t e n n at e l e v i s i o n ) a d d r e s s a b l em a n a g i n gs y s t e m ,t h ep a p e rs t u d i e sa b o u tt h ed a t a b a s ea p p l i c a t i o nb a s e d o nc l i e n t s e r v e rm o d e l i ns h i d as y s t e m ,n e wt e c h n i c si su s e dt or e a l i z eu s e s m a n a g e m e n t d y m m f i cc o d i n g i sr e a l i z e da n dt r e e s h a p e dd i r e c t o r y i su s e dt o m a n a g eu s e s d y n a m i cc o d i n g l e t st vs t a t i o n sd e c i d et h e i r c o d i n gs e t t i n g e s p e c i a l l ya c c o r d i n gt ot h e i ro w n c o n d i t i o ni n c l u d i n gt h ea m o u n to ft h e i ru s e r sa n d r e g i o nc o n d i t i o n b ys h o w i n g t h eu s e r s c o d ei n f o r m a t i o na st r e es h a p e dd i r e c t o r y , t r e es h a p e dd i r e c t o r yt e c h n i cg e t st h eo p e r a t i o nm o r ee a s i l y m o r eq u i c k l ya n dm o r e e x a c t l y k e y w o r d s :d i s t r i b u t e dd a t a b a s es y s t e m ,c l i e n t s e r v e rm o d e l , d y n a m i c c o d i n g , t r e es h a p e dd i r e c t o r y 西南交通大学硕士研究生学位论文第l 页 第1 章绪论 1 1 分布式数据库系统的由来和发展 任何新技术,新思想的提出都是实际需求的产物,分布式数据库系统 ( d i s t r i b u t e dd a t a b a s es y s t e m ,简称d d b s ) 同样是在现实需求的促使下提出, 发展的。分布式数据库系统的研究始于2 0 世纪7 0 年代中期,当时集中式的关 系型数据库系统的研究继层次型和网状型数据库系统之后己趋成熟,相应的产 品也陆续推出。同时,计算机网络包括广域网和局域网亦在逐步推向应用,著 名的如美国的a r p a n e t ,欧洲各国p t t 的x 2 5 网等。在计算机硬件方面,小 型机如p d p i l 及后继的v a x 机,特别是8 0 年代推出的微机由于价格其相对便 宜和量大面广而使得计算机的应用得到了迅速普及。集中式数据库系统的日趋 成熟加上计算机网络和小型、微型机两股潮流的汇合,为分布式数据库系统的 研究和发展提供了前提条件。 在社会应用领域,对于分布式数据库系统的需求则更加迫切。随着社会的 发展,各种大集团公司,国际性公司,跨国公司纷纷出现,这类企业往往在地 域上比较分散,而在管理上,既要求各部门具有独立的局部控制,分散管理的 能力,同时,又要在整个企业内实现对所有部门,子公司全局控制,统一管理。 例如全球性的民航订票系统、铁路定票系统、水陆空联运系统、洲际银行的存 取和汇兑业务系统、连锁店的管理系统、全国性甚至全球性的保险公司业务系 统、多个军事基地的统一管理等。这种协同管理要求各部门之间的信息既能灵 活交流和共享,又能统一管理和使用。随着这种需求的不断扩大和要求的不断 提高,人们越来越认识到集中式数据库的局限性,迫切需要将各部门,子公司 的数据通过网络连接在一起实现共享,分布式数据库正是这种要求的解决方案。 分布式数据库系统将地理位置上分布于不同地点的数据应用网络连接起来,并 应用统一的数据库管理系统对不同位置的数据进行统一管理,使得数据在逻辑 上又是一个整体。 2 0 世纪8 0 年代,分布式数据库系统进入成长阶段。一方面因为计算机网络 技术的迅速发展,降低了数据传输费用;另一方面因为个人计算机技术的发展, 个人计算机性能不断提高,成本越来越低,使得各行业都开始使用计算机,从 西南交通大学硕士研究生学位论文第2 页 而有利于数据的分散处理。特别是微型机和超微型机的出现和计算机局域网的 广泛应用,则为分布式数据库系统的研制和实现提供了必要的条件。 在应用需求和硬件环境更加成熟的双重促使下,各先进国家均不约而同地 紧紧把握分布式数据库系统这个新的发展方向,投下巨资进行研究和开发。典 型的如美国国防部委托美国计算机公司( c c a ) 研制的s d d 1 系统,美国加利 福尼亚大学伯克利亚分校的分布式i n g r e s 系统,美国瑁m 公司的r + 系统, 法国国家级的涉及一百多个大学、研究所和公司的s i r i u s 计划,前西德s t u t t g a r t 大学研制的p o r e l 系统和美国c c a 公司的a d a d d m 系统等。这些研制计划 规模宏大,耗资惊人,历时以1 0 年计。巨额的投资和历时1 0 年的研究,每年 数次大型的国际学术会议和各种学术研讨会的交流,若干先驱分布式数据库管 理系统的研制,使d d b m s 领域取得了决定性的成就。从理论上,d d b m s 的 总结性专著已有数部出版。从实践上,各先驱研究计划均陆续完成,若干原型 系统已投入运行或试用。 1 2 分布式数据库现状 分布式数据库系统在2 0 多年的发展历史中,经历了一个从产生到发展的过 程,取得了很多的研究成果,许多技术问题被提出并得以解决。但是,实现和 建立分布式数据库并不是数据库技术和网络技术的简单结合,而是在这两种技 术相互渗透和有机融合后的技术升华,它又产生了很多新的技术。由于数据的 分布环境形成了很大的固有的技术难度,使得分布数据库系统的应用被推迟。 市场上的四大数据库公司o r a c l e ,s y s b a s e ,i n f o r m i x ,i n g r e s 都宣称 其产品是分布式d d b m s ,但真正实现完全分布透明性的商用分布式数据库系 统还很难见到。 由于分布式数据库系统无论在军事上还是在民用上都有着深刻的应用背 景,因此,各国都投入了大量的人力、财力、和物力来研制d d b s ,例如: 德国的斯图加特大学研制的p o r e l 系统,历时1 1 年,投资4 5 0 万马克。 采用s q l 1 i k e 的关系数据库语言r d b l 作为用户接e l 语言,以 p a s a c a l l 语言作为宿主语言。 美国m m 公司的s a nj o s e 研究室研制的r + ( r + = r ,r r ,r r r , 表示任意数目的r ) 和s y s t e m r 。以s q l 作为用户接口语言。 美国加州大学b e r k e l y 分校研制的d i n g r e s ,仅支持单语句查询,使 西南交通大学硕士研究生学位论文 第3 页 用q u e l 语言作为用户接口语言,在u n i x p d p 机上实现。 法国i n r i a 研制的s i r i u s d e l t a 系统和i m a g 研究中心研制的 m i c r o b e 系统。 a d a d d m 系统,由c c a 公司设计和开发,由美国军方提供支持。采 用a d a p l a x 作为用户接口语言。a d a - d d m 系统将若干个l d m ( l o c a l d a t a m a n a g e r ) 联结起来构成一个完全透明的d d b m s ,支持数据副本, 在某些数据副本破坏时仍能照常运行。 c p o r e l 系统,是由中国科学院数学所设计并和上海科技大学及华东 师范大学合作,经历6 年的时间实现的。它以p o r e l 为蓝本,并吸收 各先驱系统的经验进行设计。主要目标是实用性和有效的可移植性,它 是关系系统,支持关系的水平分片,以r d e l 作为用户接口语言,宿主 语言采用p a s c a l ,并主要以p a s c a l 作为实现语言。c p o r e l 系统 在1 9 9 0 年1 1 月正式集成运行。 随着计算机网络技术的飞速发展和广泛应用,使得对数据库系统的研究和 开发变得更加活跃。分布式数据库系统具有的巨大的潜在市场,如银行、交通、 金融、国防、教学等应用领域,都需要分布式数据库系统的支持。但是由于分 布式数据库系统的实现技术相当复杂,一些原理在理论上已经研究成熟,但实 际应用时,特别是复杂情况下的效率、可用性、安全性、一致性等问题并不容 易解决。为了解决和减轻实现分布式数据库系统的技术难度,一种协作式分布 式数据库系统得到迅速发展,这就是基于客户机服务器模式的数据库系统。 1 3 本文的主要内容 本文将从分布式系统的特点开始,对分布式数据库系统的设计和实现理论 进行分析,研究分布式数据库各个部分的设计和实现方法。最后利用基于客户, 服务器模式的数据库系统s q ls e r v e r7 设计一个具体的数据库应用。 本文内容包括:分布式数据库的原理;分布式数据库设计基本方法、设计 中的要点问题等;客户机服务器系统,以及基于客户机朋匿务器模式的数据库应 用系统一视达有线电视寻址系统的实现。 西南交通大学硕士研究生学位论文 第4 页 第2 章分布式数据库系统简介 2 1 分布式数据库系统的定义和特点 2 1 1 分布式数据库定义 分布式数据库系统,是指数据物理上分布而逻辑上集中的数据库系统。物 理上分布是指分布式数据库系统中的数据分布在由网络连接起来的、地理位置 分散的不同站点上,逻辑上集中是指各数据库站点之间在逻辑上是一个整体, 并由统一的数据库管理系统进行管理,同时各站点又具有管理本地数据的能力。 被计算机连接起来的不同逻辑单位称为站点或结点,这些站点分散在不同的地 方,大可为不同的国家,小可为同一建筑内的不同位置。因此,分布式数据库 系统可以看成是:计算机网络与数据库系统的有机结合。 图2 1 为分布式数据库系统的示意图。 图2 - 1 分布式数据库系统示意图 西南交通大学硕士研究生学位论文 第5 页 当一个用户只访问他所注册的那个站点上的数据时,称为本地( 或局部) 用户或局部应用;如果用户的访问涉及两个或两个以上站点上的数据,则称为 全局用户或全局应用。 2 1 2 分布式数据库特点 分布式数据库具有如下三点基本特点: 物理分布性:分布式数据库系统中的数据不是存储在一个站点上,而是 分散存储在由计算机网络联结起来的多个站点上。所以,分布式数据库 系统的数据具有物理分布性。 逻辑整体性:分布式数据库系统中的数据物理上是分散在各个站点上, 但这些分散的数据逻辑上却是一个整体,它们被分布式数据库系统的所 有用户共享,并由一个分布式数据库系统统一管理。这是分布式数据库 的“逻辑整体性”特点,也是与分散式数据库的最大区别。区别一个数 据库是分散式还是分布式,只要判断它是否支持全局应用,如果支持则 是分布式数据库。 站点自治性:站点自治性也称场地自治性,是指各站点上的数据由本地 的d b m s 管理,具有自治处理能力,本地d b m s 可以完成本地局部应 用。 由以上三个基本特点,可以导出分布式数据库系统的其他特点,包括: 数据独立性:数据独立性是数据库方法追求的主要目标之一。分布式数 据库系统的数据独立性包括数据的逻辑独立性,物理独立性和分布透明 性。分布透明性指用户不必关心数据的逻辑分片,不必关心数据是否复 制及复制的个数,分布的物理位置,也不必关心局部位置上数据模型的 种类,这些全都由分布式数据库系统来完成。 集中与自治相结合的控制机制:在分布式数据库系统中,同一站点上的 局部用户共享本站点上的数据,并由本地数据库进行管理,而在全局范 围内,全局用户共享系统中各个站点上的数据,这种共享由集中的控制 机制统一管理。 适当增加数据的冗余度:在分布式数据库系统中,通过数据冗余来提高 系统的可靠性、可用性和改善系统的性能,通过在多个站点上存储数据 的副本,使得当某一站点上的数据破坏时,系统仍可以正常运行。另外, 系统还可以选择数据用户最近的数据副本进行操作,减少通信代价。 西南交通大学硕士研究生学位论文第6 页 事务管理的分布性:数据的分布性必然造成事务执行和管理的分布性。 即,一个全局事务的执行可分解为在若干个站点上的子事务的执行。同 样事务的原子性、一致性、可串行性、隔离性和永久性以及事务的恢复 都要考虑分布性。 2 2 分布式数据库系统的分类 可以按两种不同的分类方法对分布式数据库系统进行分类:一种是按构成 分布式数据库系统的局部数据库管理系统的模型来进行分类;另种是按分布 式数据库系统的全局控制系统的全局控制系统的类型进行分类。 按局部数据库管理系统的模型可以将分布式数据库系统分为两大类:同构 型d d b s 和异构型d d b s 。同构型d d b s 指各个站点上的局部数据模型均是同 一类型( 例如都是关系型) ,若各个站点上的局部数据模型为不同类型,则称该 数据库系统为异构型d d b s 。在同构型d d b s 中又可以分为同构同质型和同构 异质型。如果各个站点上的数据库的数据模型是同一类型,且是同一种d b m s , 则称该分布式数据库系统是同构同质的,否则称其为同构异质。 按分布式数据库系统的全局控制系统的类型可以将分布式数据库系统分为 三类:集中型d d b s 、分散型d d b s 、可变型d d b s 。如果d d b s 中的全局信 息位于一个中心站点时,称为集中型d d b s 。如果每一个站点上包含全局控制 信息的一个副本,称为分散型d d b s 。可变型d d b s 中,所有站点分成两组, 一组站点包含全局控制信息副本,称为主蛞点,丽另一组站点不包含全局控制 信息的副本,称为副站点。 2 3 分布式数据库管理系统的功能结构 分布式数据库系统中除系统本身的硬件和软件( 包括操作系统、语言及语 言编译程序、应用程序) 外,主要组成部分有:局部数据库、全局数据库、局 部数据库管理系统、全局数据库管理系统、局部用户和全局用户。 局部数据库管理系统( l d b m s ) 和全局数据库管理系统( g d b m s ) 共同 构成分布式数据库的管理系统( d d b m s ) ,它是分布式数据库系统的核心,负 责实现分布式数据库的建立、查询、更新、复制、维护等功能。包括提供分布 透明性,查询优化、协调全局事务的执行,协调各局部d b m s 共同完成全局应 用,保证数据库的全局一致性,执行并发控制,实现更新同步和全局恢复等。 西南交通大学硕士研究生学位论文 第7 页 d d b m s 中,每个站点是相互独立的,每个站点都要具有相同的功能。这 些功能包括对用户进行登录和授权检查;对用户的查询程序进行编译:对查询 进行优化处理;对事务进行管理,以保证网络上的多个结点,每个结点上的多 个用户对d d b 进行并发存取时不发生冲突;在发生故障时能安全恢复,以确保 系统的安全可靠和数据的可用性;对用户的查询提供快速高效的执行和响应; 保证网络各结点间的高效可靠通讯;以及与操作系统的高效可靠接口。 根据分布式数据库管理系统的功能,一般将分布式数据库管理系统分为四 个基本功能模块: 1 查询处理模块:负责对用户查询进行分析和优化,减少查询处理的代价, 降低网络传输代价。 2 完整性处理模块:负责维护数据库的完熬性和一致性,检查完整性规则, 处理多副本数据的同步更新等。另外,由于在分布式数据库系统中,数 据可能会有多个副本分布于网络的不同站点上,所以当查询处理模块分 析出查询所需数据后,完整性模块与查询模块一起确定执行查询的策 略。 3 调度处理模块:当确定查询策略后,调度处理模块负责向有关站点发布 命令,使相应蛄点的d b m s 执行这些局部处理。与此同时,调度处理 模块还需要与各站点的通信管理软件相互配合,以便在相应站点之间进 行必要的数据传输。最后,完成查询并把结果送回发出该查询的站点。 4 可靠性处理模块:分布式数据库基于计算机网络,因此自然会增加产生 故障的因素,可靠性处理模块负责不断地监视系统的各个部分是否有故 障出现,当故障修复后,可靠性处理模块负责将该部分重颓并入系统, 使之继续有效地运行,并保持数据库的一致状态。 分布式数据库管理系统各处理模块之间关系如图2 - 2 所示。 西南交通大学硕士研究生学位论文 第8 页 图2 - 2 分布式数据库管理系统功能结构 2 4 分布式数据库系统的数据组成 分布式数据库( d d b ) 是分布式数据库系统中各站点上数据库的逻辑集合。 与集中式数据库一样,分布式数据库也由两部分组成t 一部分是应用所需要的 数据的集合。称为物理数据库,它悬分布式数据库的主体i 另一部分是关于数 据库结构的定义,以及全局数据的分片、分布的描遮,称为描述数据库,也称 数据字典或数据目录。 在分布式数据库中。数据及描述它的数据目录。也分为局部和全局。即局 部数据和全局数据,局部数据目录和全局目录。所谓局部数据是指只提供给本 站点的局部用户的数据;全局数据虽然也物理地存放在各个站点中,但它参与 全局应用,可被多个站点上的用户访问。局部数据目录是指本站点中的局部数 据字典( l o c a ld a t ad i c t i o n a r y ,简称l d d ) ,而全局数据目录就是全局数据字典 ( g l o b a l d a t a d i c t i o n a r y ,简称g d d ) ,提供全局数据的描述和管理的相关信息, 如数据的结构的定义,数据的分片,分布处理,授权,事务恢复等信息。 西南交通大学硕士研究生学位论文第9 页 2 5 分布式数据库的数据分片和分布 数据分片和分布是分布式数据库中两个重要概念,分布式数据库大部分问 题均与数据分片和分布有关,它对整个系统的可用性、可靠性、及效率都有极 大的影响,同时也与分布式数据库系统的其他方面密切相关,尤其是分布式查 询处理问题。 2 5 1 分布式数据库的数据分片 数据分片( d a t af r a g m e n t a t i o n ) 也称数据分割,是分布式数据库的特征之 一。在一个分布式数据库中,全局数据库是各个站点上局部数据库的逻辑整体, 而各个局部数据库中的数据是由全局数据库的某种逻辑分割而来。例如,以关 系d b m s 为例,一个关系( 表格或视图) 描述了某些数据之间的逻辑相关性, 但是,因为不同站点的用户需要访问的该关系中的元组( 记录) 可能不同,所 以需要对这个关系进行分割,将分割后得到的各部分元组( 记录) 称为该关系 ( 表或视图) 的一个逻辑片段,存放在相应的站点上。这样减少网络通信量, 从而提高效率。 数据分片有三种基本方法,分别如下: 1 水平分片;按特定条件把全局关系的所有元组分成若干个互不相交的子 集,每一个子集为全局关系的一个逻辑片段,简称为片段。它们通过对 全局关系施加选择运算得到,并可通过对这些片段的合并操作来恢复该 全局关系。 2 垂直分片:将全局关系( 表或视图) 的属性集( 字段集) 中的若干属性 作投影运算,即得到全局关系的一个垂直分片。要求全局关系的每一个 属性至少映射到一个垂直片段中,且每一个垂直分段都包含全局关系的 键。 3 混合分片:水平分片和垂直分片的混合。 对数据库的各类分片,满足如下规则; 完备性条件:必须把全局关系的所有数据及元组映射到各个分片中,不 允许有属于全局关系的数据却不属于它的任何个片段。 可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局 关系。 西南交通大学硕士研究生学位论文 第1 0 页 不相交条件:要求一个全局关系被分割后所得的各数据片段互不重叠 ( 对于水平分片) 或互不包含主键重叠( 对于垂直分片) 。 2 5 2 分布式数据库的数据分布 数据分布是分布式数据库的又一特性。所谓数据分布是指分布式数据库中 的数据不是存储在一个站点的计算机存储设备上,而是根据需要将数据划分成 逻辑片段,按某种策略将这些片段分散地存储在各个站点上。 数据分布的策略有: 1 集中式:所有数据片段都安排在同一个站点上。这种分布策略因系统的 数据都存放在同一站点上,对数据的控制和修改都比较容易,数据的一 致性和完整性能够得到保证。但由于对数据的检索和修改都必须通过这 个站点,使这个站点负担过重,系统对这个站点的依赖性过多。- - n 容 易出现瓶颈,二则一旦这个站点出现故障,将会使整个系统崩溃,系统 可靠性较差。 2 分割式:所有数据只有一份,它被分割为若干个逻辑片段,每个逻辑片 段被指派在某个特定的站点上。这种分布策略可充分利用各个站点上的 存储设备,数据存储量大。在存放数据的各个站点上可自治的检索和修 改数据,发挥系统的并发操作能力。同时,由于数据是分布在多个站点 上,当某部分站点出现故障时,系统仍能运行,提高了系统的可靠性。 对于全局查询和修改,所需的时间会比集中式长。 3 复制式:全局数据有多个副本,每个站点都有一个完整的数据副本。采 用这种策略的系统的可靠性高,响应速度快,数据库的恢复比较容易, 可以从任何一个站点得到数据副本,但是要保持各个站点上的数据致 性,做到数据修改的同步需要更高代价。 4 混合式:这种策略兼顾分割式和复制式的做法,将数据分为若干分逻辑 片段,并将各逻辑片段分别存储在各个站点上,同一个片段可以有多个 副本分布在不同的站点上。这种方法灵活性好,能提高系统的性能,但 增加了系统实现的复杂性。 2 6 分布式数据系统的模式结构 模式是对数据库信息的描述,它本身也是一种数据信息,通常包含在数据 西南交通大学硕士研究生学位论文 第l l 页 库的数据字典中。在集中式数据库中,模式分为三级:外部模式,概念模式和 内模式。外模式描述数据的整体信息,例如数据库名称,创建时间等。概念模 式包含整个数据库的逻辑描述。内模式包含了物理数据结构的描述,表示物理 数据的存放位置和格式。通过三个模式之间的相互映象完成对数据库的操作。 在分布式数据库中,一般可以将模式结构分为四层。1 、全局外层,即全局 外模式。2 、全局概念层,包括全局概念模式、分片模式、分配模式。3 、局部 概念层,即局部概念模式。4 、局部内层,即局部内模式。各个模式之间由数据 库管理系统提供的多次映象来实现转换。 分布式数据库的模式结构如图2 3 所示: 躅2 - 3 分布式敷据库模式蛄构 全局概念模式描述分布式数据库中全局数据的逻辑结构,与集中式数据库 中的概念模式相同,如果数据库采用关系模型,则全局概念模式包括一组全局 关系( 表或视图) 的定义( 如名称,字段,字段类型等) 、完整性定义( 主键, 外键以及其它约束) 等。全局外模式是全局概念模式的一个子集,它是相应用 户所关心的本地站点上的数据库的描述。分片模式描述数据分片或定义片段, 以及全局关系与片段之间的映象,这种映象是一对多的,即一个关系可对应多 个片段,而一个片段只能来自一个全局关系。分配模式根据选定的数据分布策 西南交通大学硕士研究生学位论文第1 2 页 略来定义各片段的物理存放站点,即定义片段映象的类型:确定分布式数据库 是冗余的还是非冗余的,以及冗余的程度。一个全局概念模式( 例如一个全局 关系) 经逻辑划分成一个或多个逻辑片段,每个逻辑片段被分配在一个或多个 站点上,称为该逻辑片段在某个站点上的物理映象或物理片段,分配在同一个 站点上的不同的全局概论模式的一个或多个片段构成了该全局概念模式在该站 点上的一个物理映象,该站点上全部物理映象的集合称为该站点上的局部概念 模式,或者说,一个站点上的局部概念模式是该站点上所有全局概念模式在该 站点上的物理映象的集合。局部内模式同集中式数据库的内模式相同。 2 7 分布式数据库系统中数据的独立性与分布透明性 分布式数据库系统的数据独立性包括数据的逻辑独立性,数据的物理独立 性,以及数据的分布独立性。数据的逻辑独立性是指应用程序与数据库的全局 逻辑结构无关,数据的物理独立性是指应用程序与数据的物理结构无关,这两 点同样是集中式数据库所具有的的特性,而数据的分布独立性是分布式数据库 系统特有的,它是指用户或应用程序使用分布式数据库时如同使用集中式数据 库一样,不必关心全局数据的逻辑分片情况,不必关心逻辑片段在各个站点上 的分布情况,也不必关心各站点上的数据库模型等。也就是说,全局数据的逻 辑分片、片段的物理位置分配、各站点数据库的数据模型情况等对用户和应用 程序是透明的。所以,在分布式数据库中分布独立性也称为分布透明性。 分布透明性包括三个层次:分片透明性、位置透明性和局部数据模型透明 性。 1 分片透明性;分片透明性是分布透明性中的最高层,当分布式数据库具 有分片透明性时,用户编写应用程序只对全局关系进行操作,不必考虑 数据的逻辑分片,当分片模式改变时,只要改变全局概念模式到分片模 式之间的映象,而不会影响应用程序。 2 位置透明性:是分布透明性的中间层,当分布式数据库具有位置透明性 时,用户应用程序要了解全局数据的分片情况,但不必了解各逻辑片段 的复制副本情况,也不必关心各片段及其副本的在各站点的分配情况。 当片段及其副本的存储情况改变时,只要改变从分片模式至分配模式之 间的映象,从而不会影响应用程序。 3 局部数据模型透明性:是分布透明性的最低层,是指应用程序与各站点 上的数据模型无关,当分布式数据库只具有局部数据模型独立性时,用 西南交通大学硕士研究生学位论文 第1 3 页 户编写应用程序不但要了解除全局数据的逻辑分片情况,还要了解各逻 辑分片及其副本在各个站点上的分布情况。全局数据模型与每个站点上 局部数据库的数据模型的转换由分配模式与局部模式之间的映象实现, 当某个局部站点上的数据模型发生改变时,只要改变分配模式到该站点 局部模式之间的的映象,使应用程序不受影响,从而实现局部数据模型 的透明性。 如果一个分布式数据库系统提供分布透明性,那么它同时了提供分配透明 性和局部数据模型透明性,所以称为完全分布透明性。此时,对用户和应用程 序而言,他们使用分布式数据库系统同使用集中式数据库系统一样,不需要考 虑数据库的分片,分配及各个站点上的数据模型情况。如果一个分布数据数据 库系统只提供分配透明性,那么它必然提供了数据模型独立性,但是用户在使 用时,必须知道全局数据的分片情况,称这种情况为中级分布透明性。如果一 个分布式数据库系统只提供数据模型透明性,那么用户在使用时,不仅要知道 全局数据的分片情况,而且要知道各逻辑片段及其副本在各个站点上的分配情 况,但不需要知道各个站点上的数据模型,称其为低级分布透明性。如果一个 数据库系统连局部数据模型透明性都不具备,那么称其为无分布透明性。 分布式数据库系统提供的分布透明性层次越高,则用户在使用时越方便, 在编写应用程序时越简便。因此,分布式数据库系统的分布透明性的程度也是 衡量数据库性能完善程序的准则之一。 2 8 分布式数据库系统的优点和存在的问题 2 8 1 分布式数据库系统的优点 分布式数据库系统具有以下优点: 1 良好的可靠性和可用性;分布式数据库系统由多个站点联接而成,数据 存放在多个站点上,当某一站点发生故障时,系统仍可以运行,从而提 高了可靠性。另外,因为数据常是具有多个存储在不同站点上的副本, 所以,当某一站点上的数据损坏时,访问仍可以进行。 2 提高效率,降低通信费用:若数据分布合理,即把数据存放在常被访问 的站点上,从而使访问该数据的多数访问为本地访问,从而降低通信费 用。 西南交通大学硕士研究生学位论文第1 4 页 3 具有较大的灵活性和可伸缩性:由于分布式数据库系统由多个模块组 成,从而使得可以方便灵活地增减站点,根据需要对己有系统的站点配 黄进行更改,以适应应用的多变性。 4 系统各站点具有较好的自治性:各个站点具有独立的管理本地数据库的 能力。 5 适应组织的分布式管理和控制:分布式数据库系统正是为此而产生的, 它的目标就是实现组织的对分散子组织的管理。 2 8 2 分布式数据库系统中存在的问题 分布式数据库存在的问题主要是由于数据分布而产生的复杂的技术问题。 1 数据的分割、分布:如何对数据进行分割、分布以满足局部自治性、减 少各站点之间的通信量,是分布式数据库设计所要解决首要问题。 2 分布式数据查询处理:分布式数据库应向用户提供一个统一的数据接 口,对用户来说,访问分布式数据库应和访问集中式数据库一样。而实 际上,数据是分布在不同的站点上的,这就需要分布式数据库系统提供 查询处理功能,在查询处理中要充分利用可并行性和对数据进行合理分 布来优化查询处理。 3 分布式数据更新处理:由于分布式数据库中数据分布在多个站点上,并 且数据逻辑片段存在多个副本,这使得在对数据进行更新时,要保证所 有相关数据同时更新,分布式数据库系统要保证数据一致性,同时又要 使各站点之间的通信量达到最小,这一问题的实现相当困难。 4 分布式事务的并发控制:分布式数据库系统中多个事务同时读写相同数 据的可能性较集中式数据库系统要大得多,因为这些事务不但来自一个 站点,也可能来自多个不同站点。分布式数据库系统的并发控制机制必 须作出协调,以保 正结果的正确性和分布式数据库的完整性与一致性, 同时又要尽可能降低运行成本。 5 可靠性问题:分布式数据库系统中需要一定的机制处理站点和通信线路 的失效,以保证当系统中某站点失效时,系统其余部分仍可以正常运行, 并能有效恢复失效的部分。 6 目录管理:分布式数据库系统的耳录,即分布式数据库系统的数据字典, 由各个站点上的局部数据字典集合而成,同样构成一个分布式数据库, 因此也要类似的问题。 西南交通大学硕士研究生学位论文第1 5 页 第3 章分布式数据库系统设计与实现 3 1 分布式数据库系统基本设计方法 分布式数据库系统的设计可以采用两种方法:组合法和重构法。 1 、组合法 组合法是指利用现在的计算机网络和独立存在于各个站点上的现存的数据 库系统,建立一个分布式协调管理系统,将各个站点上独立的数据库系统集成 为一个统一的分布式数据库系统。采用这种方法建立分布式数据库系统,一方 面要对网络系统的功能进行剖析,另外,还需要对各个站点上现存的数据库系 统进行剖析,解决各站点上不同数据模型的相互访问,实现统一的数据一致性 和完整性问题。当实现的系统较小时,采用这种方法比较容易,当系统较大时, 尤其是当各个站点上的数据模型不同时,采用该方法是相当困难的。 2 、重构法 重构法是根据系统实现环境和应用要求,按照分布式数据库系统的设计思 想和方法,从总体设计做起,包括各个站点上的数据库系统,重新建立一个分 布式数据库系统。这种方法在于,各个站点上的数据库系统与全局数据库管理 系统是统一设计而成的,因此可以很好地解决数据的一致性、完整性和可靠性。 3 2 分布式数据库系统设计的内容 分布式数据库系统设计的内容包括:数据库的设计和数据库管理系统的设 计。 数据库的设计可以基予现有的集中式数据库设计实现技术,只不过在设计 数据库时,要从分布式数据库整体的角度来统一考虑。在分布式数据库设计中, 核心问题是全局模式以及各个站点上的概念模式设计问题,其中的关键问题是 如何在全局模式与各个站点上的概念模式之问建立映象,从而实现数据分布透 明性。这就是分布式数据库设计中要解决的数据分片设计和数据片段分配设计 问题。 分布式数据库管理系统设计包括查询处理和优化模块设计、完整性处理模 西南交通大学硕士研究生学位论文第1 6 页 块设计、调度管理模块设计、事务管理模块设计、并发控制模块设计、可靠性 处理模块设计以及全局目录管理模块的设计。 3 3 数据库设计方法 3 3 1 数据库设计一般方法 分布式数据库设计一般需要经过下面几个阶段:需求分析、概念设计、逻 辑设计、分布设计和物理设计。 需求分析涉及收集用户数据库应用的非结构规格说明,并产生一种无歧义 的定义和在设计数据库中要考虑的元素分类,这种信息被收集在设计数据库字 典中。概念设计,有时进一步分成视图设计和视图综合,产生全局、综合数据 库模式的一种概念规格说明和在此模式上执行应用的概念规格说明。逻辑设计 将概念模式转换成给定的d b m s 类型的数据库模式。分布设计是结合在概念设 计之中的,将全局的,与各站点无关的数据进行分片,并分配到不同的站点上。 分布设计包括分片设计和片段分配设计。物理设计根据概念设计和分布设计的 结果,产生实现数据库物理访问结构的定义。 d a t a i d d 方法是设计分布式数据库的一种典型方法,它是由意大利米兰 阿业大学提出的。它提供了一种方法学框架结构,指明有关的设计问题,为解 决这些问题需要那些参数,以及如何解决这些问题。 其设计步骤如图3 1 所示: 在图3 1 中,分布要求分析阶段收集关于分布的信息,为收集关于数据和 应用分布的信息而必须从概念设计阶段的某些结果出发来收集关于分布的要 求,因此,分布要求分析阶段位于概念设计之后。这一阶段的输入用户对分布 的要求和全局数据概念模式与操作模式,用三种表来作为这一阶段的输出:频 率表、实体划分表、极化表。频率表给出各站点上每一应用的访问次数。划分 表指明可使用于模式中各实体的潜在水平分片规则。极化表基于定量分析方法 来说明分片如何影响着应用处理的本地性。 西南交通大学硕士研究生学位论文 第1 7 页 图3 - 1d a t a i d - d 方法的设计步骤 1 、设计数据字典:2 、全局数据模式;3 、全局操作模式 4 、简化全局模式;5 、逻辑访j h 3 表:6 、各站点逻辑模式 7 、各站点访问表;8 、局部逻辑模式;9 、局部物理模式 分布设计阶段的目标是从全局数据模式、逻辑访问表和分布要求出发,将 数据分配在站点上,该阶段始于全局数据库模式的规格说明和所收集的分布要 求,然后产生全局数据的分片模式和片的位置分配模式,分配模式描述了分配 在各个站点上的数据情况。在d a t a i d d 方法中的分布设计分成四个阶段:分 片设计、非冗余设计、冗余分配和局部模式的重新构造。分片设计对实体进行 水平分片和垂直分片,以便为以后设计阶段确定可能的分配单位。分片设计时, 要使每一片段是一合适的分配单位,就必须保证由各个站点执行的各应用大约 以同一方式访问在片段中的事例( 元组) 。非冗余分配将各片段映射到使用最多 的站点上。冗余分配确定片段的副本个数以及副本应处在位置。局部模式的重 新构造是重新构造分配了数据片段的各个站点上的局部模式。 分布式数据库系统的设计较集中式数据库系统更为复杂,在实际的设计中 需要处理许多复杂问题,上面的内容只是介绍了分布式数据库系统设计的基本 问题,下面就分布式数据库系统设计中的几个重要方面进行介绍。 3 4 分布式查询处理和优化 分布式数据库管理系统基本上都采用关系数据模型,以非过程化语言( 如 西南交通大学硕士研究生学位论文第1 8 页 s q l 或其兼容语言) 为主要用户接1 :3 语言。用户发出请求,只需表达自己想要 的结果,而如何以最低的代价得到正确结果则必须由管理系统来完成。这一任 务由分布式管理系统的查询处理模块来完成。 查询处理模块的功能可以分六个层次: 1 、语句检查:首先要对用户请求进行语法语义分析,进行完整性检查,授 权检查。 2 、查询分解:将用户请求语句翻译为一个定义在全局关系上的关系代数式 或s q l 语句。其中包括对表达式进行必要的优化。 3 、数据本地化:把全局关系上的查询,进行具体化,落实到合适的站点上 进行o g 可能使查询本地化或最近化) 。 4 、全局优化:全局优化目的是找出分处查询的最佳操作次序,包括使得代 价最小。 5 、局部优化:由拥有与查询有关的片段执行。 6 、返回结果:执行得到结果,最后配合调度处理模块将结果返回给用户。 如图3 - 2 所示: 图3 - 2 分布式查询的层次 语义语法分析即对用户的数据库语句进行语法分析,同时进行语义分析, 西南交通大学硕士研究生学位论文 第1 9 页 包括对各种名字的一义性分析,数据类型的匹配检查等。语义语法分析可以设 计专门的分析器来实现。 完整性检查查阅系统目录,按照各种完整性规则生成相应的运行时动作和 触发子程序,以便在正式存取数据时实施完整性检查。 授权检查查阅系统目录,审核存取权。如果安全条件与数据的值无关,则 在首次检查时便可确定存取权,如果与数据有关,则应产生相应的运行时动作, 以便在执行时进行授权检查。 在分布式数据库系统中,常以两种不同的目标来考虑查询优化。一种目标 是以完成任务的总代价最小为标准,除了像集中式数据库系统一样考虑c p u 代 价和i o 代价外,总代价还包括数据通过网络传输的代价。另一种目标是以每 个查询的响应时间最短为标准,这一点在分布式数据库系统中具有重要的意义。 因为分布式数据库系统由多台计算机级成,数据的分布和冗余也增加了查询的 并行处理的可能性,从而可以缩减查询处理的响应时间,加快查询处理速度。 查询优化要找到最佳方案是很难的,一般是寻找相对较优的操作,一般采 用多级优化,逐步求精的方案。例如同时应用代数优化,分布优化,涉网优化 等。 下面是几种常用优化算法 代数优化 代数优化是利用关系代数的一些基本定律,如交换律,结合律,幂等律等 把用户的s q l 形式查询变换成等价的关系代数表达式。因为代数优化产生的结 果很可能与分布现实矛盾,因此代数优化常放在全局优化时处理。 关系操作可以概括为如下几种: 1 投影:记为p j a ( r ) 。a 是关系r 的属性子集,投影产生的结果也是一 个关系,这个关系所具有的属性与关系r 相似,但排除了r 中不属于a 的属性。 2 选择:记为s e l f ( r ) 。s e l 为操作符,f 是一个表达式,操作的结果生 成一个新的关系,该关系是满足f 的r 中的元组的集合。 3 并:记为r u ns 。u n 为操作符,r 和s 是两个和有相同模式的关系, 操作的结果是一个由这两个关系的所有非重复元组构成的新的关系。 4差:记作rd fs 。r 和s 是两个具有相同模式的关系,操作的结果是 新关系,其中包括r 中排除了s 中所有元组后余下的元组。 5 笛卡儿积:记作r c ps 。c p 为操作符,r 和s 是任意两个关系,操作 结果产生一个新关系,其关系模式包括r 和s 的所有属性

温馨提示

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

最新文档

评论

0/150

提交评论