(计算机应用技术专业论文)基于oracle的数据复制在shxepc+cms中的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于oracle的数据复制在shxepc+cms中的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于oracle的数据复制在shxepc+cms中的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于oracle的数据复制在shxepc+cms中的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于oracle的数据复制在shxepc+cms中的研究与应用.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)基于oracle的数据复制在shxepc+cms中的研究与应用.pdf.pdf 免费下载

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

文档简介

太原理工大学硕士研究生学位论文 基于o r a c l e 的数据复制在s h x e p cc m s 中的研究与应用 摘要 随着数据库技术和网络技术的发展,分布式数据库系统不仅在理论上 日趋成熟,而且在网格计算、i n t e m e t 应用、数据仓库等方面得到越来越广 泛深入的应用。由于分布式数据库具有地理位置的分布性,如何有效解决 好数据的一致性问题,是确保分布式数据库系统发挥作用的关键。 数据复制是分布式数据库应用中常用的一种数据拷贝技术,其作用是提 供数据副本于多个主机上,为分布式环境中信息的发布提供快速有效的手 段。在确保数据同步、一致性同时,可以提高数据查询存取性能,使远程 用户能在本地引用复制的数据完成分布式操作,减少网络和中心数据库服 务器的负载。 本文分析了分布式数据库系统的理论,详细地论述了分布式数据库系统 的基本概念、系统结构、模式结构及事务管理;对数据复制技术在传统的 关系数据库的实现方法,在复制过程中数据冲突解决方法进行研究。结合 山西省电力公司网站管理系统( s h a n x ie l e c t r i cp o w e rc o r p o r a t i o nc o n t e n t m a n a g e m e n ts y s t e m ) 的实际应用,对数据复制模型进行了深入研究,研究了 在数据复制中解决冲突的方法;提出了一种基于数据记录修改时间戳的数 据复制方法,设计了运用该方法实现只读数据应用模型的复制解决方案。 并将其应用于山西省电力公司网站管理系统,解决了实际应用中数据订阅 复制的需求,达到了较好的应用效果。 t 太原理工大学硕士研究生学位论文 关键字:o r a c l e ,数据复制,时间戳,内容管理 i i 太原理工大学硕士研究生学位论文 r e s e a r c ha n d a p p l i c a t i o ni ns h x e p cc m s b a s e do no r a c l ed a t ar e p l i c a t i o n a b s t r a c t a st h ed e v e l o p m e n to fd a t a b a s ea n dn e t w o r kt e c h n o l o g y , t h ed i s t r i b u t e d d a t a b a s es y s t e mh a sb e e nd e v e l o p e dm a t u r e l yn o to n l yo nt h e o r yb u ta l s oo n a p p l i c a t i o n ,f o re x a m p l e :i n t e r a c ta p p l i c a t i o n ,g r i dc o m p u t i n g ,a n dd a t a w a r e h o u s e t h ed a t ai n c o n s i s t e n c yp r o b l e m sc a u s e db yd i s t r i b u t i o no ft h e g e o g r a p h i c a lp o s i t i o nu s u a l l yo c c u r i ns o l v i n gt h e s ep r o b l e m s ,i th a sb e e nak e y i nt h ed a t a b a s et e c h n o l o g yr e s e a r c hf i e l d t h ed a t ar e p l i c a t i o ni st h ec o n l m o n l yu s e do n ek i n do fd a t ad u p l i c a t i o n t e c h n o l o g yi nt h ed i s t r i b u t i o n a ld a t a b a s ea p p l i c a t i o np r o c e d u r e d a t ar e p l i c a t i o n a r es a v e di nm a n yc o m p u t e r s i tp r o v i d e st h ef a s te f f e c t i v em e t h o df o rt h e i n f o r m a t i o ni s s u eo ft h ed i s t r i b u t e de n v i r o n m e n t w h i l ei tg u a r a n t e e st h ed a t a t h es y n c h r o n i z a t i o na n dc o n s i s t e n c y , b u ta l s oi tm a ye n h a n c et h ed a t ai n q u i r y d e p o s i ta n dw i t h d r a w a lt h ep e r f o r m a n c e ,e n a b l e st h el o n g d i s t a n c eu s e ri nl o c a l t o q u o t et h ed u p l i c a t i o nt h ed a t at oc o m p l e t et h ed i s t r i b u t i o n a lo p e r a t i o n , r e d u c e st h en e t w o r ka n dt h ec e n t e rd a t a b a s es e r v e rl o a d i i i 太原理工大学硕士研究生学位论文 t h i sp a p e rm a i n l ya n a l y s e st h et h e o r yo fd i s t r i b u t e dd a t a b a s es y s t e ma n d d e t a i l e dd i s c u s s e st h eb a s ec o n c e p t ,s y s t e ms t r u c t u r e ,s c h e m as t r u c t u r ea n d t r a n s a c t i o n m a n a g e m e n to fd i s t r i b u t e dd a t a b a s es y s t e m ,s t u d i e st h ed a t a r e p l i c a t i o nr e a l i z a t i o ni nt r a d i t i o n a lr e l a t i o nd a t a b a s ea n dt h ed a t ac o n f l i c t s o l u t i o ni n r e p l i c a t i o np r o c e d u r e b a s e do nt h ef o u n d a t i o no ft h et h e o r y r e s e a r c h e r , a n dc o m b i n e dt h ep r a c t i c a la p p l i c a t i o no fs h x e p cc m s ( s h a n x i e l e c t r i cp o w e rc o r p o r a t i o nc o n t e n tm a n a g e m e n ts y s t e m ) ,w ed e e p l ys t u d yt h e m o d u l e so fd a t ar e p l i c a t i o na n dt h ed a t ac o n f l i c ts o l u t i o nm e t h o d s ,p u tf o r w a r d ad a t ar e p l i c a t i o nm e t h o db a s e do nm o d i f i e dt i m e s t a m p so fd a t ar e c o r d sa n d d e s i g nt h ed a t ar e p l i c a t i o ns o l u t i o ni na na p p l i c a t i o nm o d e lo nr e a d - o n l yd a t a a n da p p l i e dt ot h es h x e p cc m s ,t os o l v et h ep r a c t i c a la p p l i c a t i o no ft h ei s s u eo f d a t ar e p l i c a t i o na n da c h i e v e dag o o de f f e c t k e yw o r d s :o r a c l e ,d a t ar e p l i c a t i o n ,t i m e s t a m p ,c o n t e n tm a n a g e m e n t i v 声明尸明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:毖壅日期: 伊。飞t6 i 。 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; t 学校可允许学位论文被查阅或借阅;学校可以学术交流为目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) 。 : 签名:燮三崖鏊日期:巡呈:笸: 导师签名:另弛虹日期: 太原理工大学硕士研究生学位论文 1 1 引言 第一章绪论 随着计算机技术、信息技术、网络技术的迅速发展和日益普及,及时了解行业信息 动态,做出决策分析,对企业起着非常重要的作用。分布式数据库既能对局部数据库进 行自治管理,又能对全局数据进行调度管理,使处于不同地理位置的节点间共享透明分 布于不同节点的信息资源。许多计算机应用领域以及其它应用领域对分布式数据库的应 用越来越广泛,如分布式计算、i n t e m e t 应用、数据仓库、跨国航空售票系统、电子银 行的在线处理系统、地理信息系统、指挥控制系统等等都使用分布式数据库。 分布式数据库兴起子2 0 世纪7 0 年代【l 】,尤其是在9 0 年代,分布式数据库以其在 分布性和开放性方面的优势获得了众多青睐。当前,分布式数据库技术己经成熟,并且 因计算机功能增强而成本下降以及通讯费用的降低而得到广泛的应用。它的基本思想就 是:物理上存放于网络的多个独立数据库在逻辑上可以看成是一个单独的大数据库。用 户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协调处理对于工 作站用户及应用程序而言是完全透明的,用户及开发人员无需关心网络的连接细节,无 需关心数据在网络节点中的具体分布情况,也无需关心服务器之间的协调工作过程。分 布式数据库具有物理分布性、逻辑整体性、站点自治性、事务管理分布性的特点。这些 特点给分布式数据库带来高可靠性和可用性,也引发了一系列问题,诸如数据的一致性。 如何有效地解决这一问题,是分布式数据库系统的关键。本文就实施分布式数据库的两 种策略:分布式数据库和数据复制,进行了具体的分析,并对数据复制中基于修改时间 戳的方法进行了一些改进并应用到实际的应用中。 1 2 课题背景 当前人类社会的信息量得到空前的爆炸式的膨胀,数据仓库技术、数据挖掘技术方 兴未艾,联机事务处理、联机分析处理、决策支持系统、企业资源规划等都对数据信息 管理提出了更高的要求。这就要求数据库管理系统必须对数据库的事务操作、数据共享、 数据维护、安全性等方面提供更有效、实时的支持。传统的联机事务处理是以对数据库 进行频繁的操作为特征的,用户对数据库进行的操作和数据库数据紧密绑定,通过并发 1 太原理工大学硕士研究生学位论文 事务控制、分布事务控制的方法维护数据一致性。数据库提供数据锁、事务日志等机制。 一方面事务控制在分布式数据库系统中变得越来越复杂,开销越来越大,例如二阶段提 交协议虽然在保证分布式事务的执行,不过对事务提交的管理需要额外的系统开销,需 要表决和决策以完成事务,增加了服务器的负担,对网络连接也有较高的要求,往往要 求高速、可靠的网络环境,无法解决联机事务与实时决策支持系统的矛盾;另一方面, 越来越多的业务应用设计在分布计算环境中运行。除了将应用程序分布到由工作站、服 务器和传统大型机构成的网络,许多应用程序由集中的集体办公室分布到位于其它区域 的卫星办公室,而且还渐渐分布到移动办公室( 膝上型电脑) 。分布的数据库和移动数 据库要求2 4 小时运行和精细追踪的系统,同时还需要保证较高的数据可靠性。而且分 布式数据库应用通常采用异构网络和计算平台的混合,这使得数据维护问题更加困难。 传统的数据复制技术,是在i n t e m e t i n t r a n e t 中由复制代理通过数据库快照和阅读数 据库日志的方法,实现出版数据和订阅数据【2 】。各个订阅数据库获得当前最新版本,完 成相应的操作,最终使各个数据库副本与出版数据库保持一致,数据复制不但解决了联 机事务处理和实时决策的矛盾,而且各个复制数据库高度自治,提高了局部节点的事务 处理效率,使数据查询的高效运行,减少了网络负载和中心数据库的负荷,通过多个数 据副本,可以恢复任意一个或多个数据库,使系统具有高度的健壮性。随着数据库技术 的发展,数据库由关系型数据库发展到对象一关系型数据库,数据库管理的数据类型也 由关系型数据扩展到面向对象类型的数据,数据复制技术也扩展到对面向对象数据的复 制支持。 在这种大环境下,探索适应本行业应用的数据复制方法和技术日益成为企业和公司 的研究目标。本课题中设计的基于时间戳的数据复制技术就是基于某种特定的应用。它 提出的思想在实现数据复制技术中存在广泛意义,并且针对实现只读数据复制模型,该 技术不失为一种十分良好的解决方法。 1 3 论文主要研究内容 由于数据复制的优点,数据复制技术在分布式应用的数据库系统中得到广泛的应 用。从数据复制中站点自治性看,主要有对等复制和快照复制两种;从数据复制的实时 性看,主要有同步复制和异步复制;从复制的内容上看,复制对象有关系数据库数据和 对象一关系数据库中的面向对象数据。本文首先分析了分布式数据库系统理论,包括其 2 太原理工大学硕士研究生学位论文 基本概念、系统结构、模式结构及事务管理等方面进行了探讨。然后深入研究了数据复 制的基本原理;分析了同步复制和异步复制的实现机制;分析了数据复制常用方法以及 数据复制类型;针对在对等复制时产生数据冲突,造成数据库数据不一致的情况,根据 不同的应用,研究了各种冲突解决机制。本文结合传统的数据复制的基本原理和类型, 针对特定项目应用提出了一种较实用的方法,基于数据改变的时间戳实现数据复制基本 工作原理,实现数据复制。 论文主要工作和创新点: 1 ) 较全面地研究和分析了分布式数据库系统理论。 2 ) 深入了解了数据库复制技术的现状,对当前主流数据库系统的数据复制技术特 点进行了研究。 3 ) 分析在对等复制中数据冲突原因,研究了冲突解决机制,为对等复制的应用提 供了技术支持。 4 ) 提出了较为实用可行的数据复制实现方案。 5 ) 针对特定应用设计了一种基于时间戳的数据复制解决方案。 6 ) 针对山西省电力公司网站管理系统的应用,将数据复制解决方案应用于实际中, 取得良好效果。 1 4 论文内容安排 本论文共分为六章: 第一章是绪论,介绍课题背景,论文主要研究内容,以及论文的整体结构。 第二章深入分析了分布式数据库系统理论,系统地叙述了分布式数据库系统的基本 概念、系统结构、模式结构及事务管理等方面。 第三章研究了数据复制技术,分析了数据复制基本原理,了解了数据库复制技术的 现状,对当前主流数据库系统的数据复制技术特点进行了比较,并针对复制中数据冲突 提出了冲突解决方案。 第四章简要介绍了山西省电力公司网站管理系统的项目背景,功能结构,数据库设 计原则等内容。 第五章提出了一种基于数据改变时间戳的数据复制方案,并对该方案实现功能进行 了深入研究。 3 太原理工大学硕士研究生学位论文 第六章是对本文的总结和对未来的展望。 4 太原理工大学硕士研究生学位论文 第二章分布式数据库的基本理论 2 1 分布式数据库系统概念及其特点 2 1 1 分布式数据库系统概念 分布式数据库系统,通俗地说,是物理上分散而逻辑上集中的数据库系统【3 】。分布 式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多 个逻辑单位( 通常是集中式数据库系统) 联接起来,共同组成一个统一的数据库系统。因 此,分布式数据库系统可以看成是计算机网络与数据库系统的有机结合。 在分布式数据库系统中,被计算机网络联结的每个逻辑单位,称为站点( s i t e ) 或结 点( n o d e ) 。所谓地理位置上分散是指各站点分散在不同的地方,大可为不同国家,小可 为同一建筑物中的不同位置。所谓逻辑上集中是指各站点之间不是一个逻辑整体,并由 一个统一的数据库管理系统进行管理,这个数据库管理系统称为分布式数据库管理系统 ( 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 d b m s ) 。 一个用户如果只访问他注册的那个站点上的数据则称为本地( 或局部) 用户或本地 应用;如果访问涉及两个或两个以上的站点中的数据,则称为全局用户或全局应用。 2 1 2 分布式数据库系统的特点 分布式数据库系统,是数据库系统的新类型,因此具有集中式数据库系统的特点, 同时,由于它的分布性从而使这些特点具有不同的含义。分布式数据库有如下特点【4 】: 1 ) 物理分布性:分布式数据库系统中的数据不是存储在一个站点上,而是分散存 储在由计算机网络联结起来的多个站点上。 2 ) 逻辑整体性:分布式数据库系统中的数据物理上是分散在各个站点中,但这些 分散的数据逻辑上却是一个整体,它们被分布式数据库系统的所有用户( 全局用户) 共 享,并由一个分布式数据库管理系统统一管理。逻辑整体性这是分布式数据库与分散式 数据库的最大区别。 3 ) 站点自治性:站点自治性也称场地自治性,各站点上的数据由本地的d b m s 管 理,具有自治处理功能,完成本站点的应用( 局部应用) ,这是分布式数据库系统与多处 5 太原理工大学硕士研究生学位论文 理机系统的区别。 4 ) 数据独立性:在分布式数据库系统中,数据独立性包括三个方面:数据的逻辑独 立性、数据的物理独立性和数据分布的独立性亦称分布透明性【5 】。前两者的含义是用户 程序和数据的逻辑结构及数据的存储结构无关。而分布透明性是指在用户看来,整个数 据库仍然是一个集中的数据库,用户不关心数据物理位置分布的细节,也不必关心数据 副本的一致性,分布的实现完全有系统来完成。 5 ) 集中与自治相结合的控制机制:系统中的各局部的数据库系统可以独立地管理 局部数据库,具有自治的功能。同时系统又设有集中控制,协调各局部数据库系统的工 作,执行全局管理功能。 6 ) 适当增加数据冗余度:分布式数据库系统通过冗余数据提高系统的可靠性、可 用性和改善系统性能。 7 ) 事务管理的分布性。 数据的分布性必然造成事务执行和管理的分布性。即,一个全局事务的执行可分解 为在若干个站点上子事务( 局部事务) 的执行。同样事务的原子性、一致性、可串行性、 隔离性和永久性以及事务的恢复也都要考虑分布性。 2 2 分布式数据库的分类 分布式数据库按照不同的分类方法,可分为多种类型 3 1 1 5 。按照节点数据库采用的 数据模型分类可以分为匀质的和非匀质的。如果各节点数据库采用相同的数据模型,则 称该分布式数据库是匀质的,否则称为非匀质的。在匀质系统中,如果各节点又采用相 同的数据库管理系统,则称为同构的,否则就称为异构式系统。通常异构式系统的硬件 平台也是不同的。一般来说异构式系统比同构式系统更为复杂些,实现起来也更加困难。 与同构式系统相比,构造异构式系统会遇到许多难题。在异构分布式数据库系统中, 不仅要解决与同构分布式系统中类似的技术问题( 如数据分片、查询处理、并发控制、 事务管理、故障恢复、目录管理等) ,而且,由于子系统使用的全局数据模型和各局部 数据模型的不同,各局部数据模型之间的不同,相应的全局操作语言之间的不同。在操 作不同的数据库系统时,由于它们的操作接口和命令往往差异较大,操作语言之间的转 换也是异构型分布式数据库所要解决的关键问题。此外,由于各站点使用的是不同的机 型,它们使用的网络协议也可能是不同的。这就要求系统能进行各种网络协议之间的转 6 太原理工大学硕士研究生学位论文 换,实现异种机型的互联,从而增加了系统的复杂性和对低层协议的依赖。当要连接的 站点的类型数量增加时,这个问题更加突出。 2 3 分布式数据库的优点 分布式数据库系统把数据库技术和网络技术的应用统一起来。数据库技术是一种抽 象的集中数据管理方法,它通过集中实现数据共享,通过抽象达到数据的独立性。它向 用户提供一个聚合的、唯一的数据集合及其统一的管理方法。而计算机网络把分散的计 算机系统连接起来,利用通信技术共享分布在这些计算机上的数据与程序。以适应企业 组织地域分散的需要,也是系统本身可靠性的保证。因此,分布式数据库系统是集中与 分散的有机结合,把这两种表面上矛盾的技术,在一个更高的层次上,以一种新的方法 统一起来,获得了成功,也显示了它如下的优点5 】: 1 ) 良好的可靠性和可用性 虽然分布式数据库系统是由多站点构成,组成结构较集中式复杂,产生故障的几率 可能较集中式高,但多数故障的影响被限制在使用故障站点中数据的那些应用。即在个 别站点或个别通信链路发生故障时,系统仍然可以继续工作。也由于分布式数据库系统 通常采用数据的多副本存放,使可用性得到改进。因为,只要某个数据有一个副本可用, 认为该数据就是可用的,访问就可继续下去。数据的多副本存放还有利于被破坏数据的 恢复,如因某种原因使某一数据的一个副本被破坏,就可以很容易使用其他副本对它进 行恢复。 2 ) 提高效率,降低通信费用 若数据分布合理,即把数据存放在常用该数据的站点中。这样使访问该数据的大多 数应用成为本地应用,既能加快响应速度,提高效率,而且也降低了通信费用。 3 ) 较大的灵活性和可伸缩性 这是由于分布式数据库系统的模块性,可以在己有的系统中,增加或减少一个站点, 根据需要调整站点配置,以及动态改变数据的冗余度,以适应应用系统的多变性,而且 这种增减对系统的其他部分影响较小。 4 ) 经济性和保护投资 对于分布式数据库系统进行扩展要比集中式数据系统进行扩展的成本低。因为在某 个或某些站点上增加或扩充设备,甚至增加一个新的站点,比用一个更大的系统代替一 7 太原理工大学硕士研究生学位论文 个已有的集中式数据库系统要容易得多,也经济得多,而且可以保护现有的投资。 5 ) 适应组织的分布式管理和控制 这是产生分布式数据库系统的重要原因之一。分布式数据库系统的思想和目标就是 为适应分布式管理和控制,符合实际用户地域分散的组织结构。 6 ) 系统站点具有较好的自治性 这是分布式数据库系统的特点之一。各个站点可以有自己的控制、管理和使用信息 的策略。 2 4 分布式数据库系统体系结构 分布式数据库系统是由分布式数据库管理系统和分布式数据库组成。分布式数据库 管理系统( 简称d d b m s ) 是建立、管理和维护分布式数据库的一组软件。分布式系统的 体系结构如图2 - 1 所示。 1 ) 局部d b m s :它提供建立和管理局部数据库的功能,提供场地自治能力,可执 行局部应用及全局应用的子查询。 2 ) 全局d b m s :它是分布式数据库系统的用户界面,提供数据分布透明性,协调 全局事务的执行,保证全局数据库数据的一致性。 3 ) 全局数据字典( g d d ) :存放全局概念模式、分片模式和分配模式,以及各模式 之间的映像等。 4 ) 通讯管理:它是一个通讯软件( 网络中间件) ,执行结点间的基本通讯功能。 8 太原理工大学硕士研究生学位论文 图2 - 1 分布式数据库的体系结构1 5 】 f i g 2 1d i s t r i b u t e dd a t a b a s e a r c h i t e c t u r e 【5 1 从图2 1 中可以看出,分布式数据库系统由下述成分组成: 1 ) 多台计算机设备。 2 ) 计算机网络设备,网络通讯的一组软件,并将多台计算机连成网络。 3 ) 分布式数据库管理系统,包括全局数据库管理系统( g d b m s ) 、本地数据库管理系统 ( l d b m s ) 和通讯管理软件( c m ) ,以及全局使用的目录系统( g d ) 。 4 ) 分布式数据库( d b ) 。包括全局数据库( g d b ) 和本地数据库( l d b ) 。 5 ) 分布式数据库管理员( d d b a ) 。分为两级,一级为全局数据库管理员( g d b a ) 令一级 为本地数据库管理员( l d b a ) 2 5 分布式数据库模式结构 分布式数据库是基于计算机网络联接的集中式数据库的逻辑集合,其既保留了集中 式数据库模式结构的特色,又具有更为复杂的结构。图2 2 分布式数据库模式结构的示 9 太原理工大学硕士研究生学位论文 意图,该模式结构从整体上可以分为两大部分:下部是集中式数据库系统的模式结构, 代表了各层数据库系统的基本结构;上部是分布式数据库系统增加的模式级别这四层模 式的划分为:全局外模式( 或称全局视图) 、全局概念层、局部概念层和局部内层。四层的 划分不仅用于完全透明的分布式数据库系统,而且适合各种透明性要求的分布式数据库 系统。【4 1 有 图2 - 2 分布式数据库结构图【4 】 f i g 2 2d i s t r i b u t e dd a t a b a s es 协j c t u r e 【4 】 1 ) 全局外模式( g l o b a le x t e r n a ls c h e m a ) 全局外模式是全局应用的用户视图,所以也称全局视图( g l o b a lv i e w ) 。分布式数据 库的全局视图与集中式数据库视图有相同概念,但前者的数据不局限于某一具体的局部 数据库中抽取,而是从一个由各局部数据库组成的逻辑集合中抽取,即全局外模式是全 局概念模式的子集。 2 ) 全局概念模式( g l o b a lc o n c e p t u a ls c h e m a ) 全局概念模式定义分布式数据库中数据的整体逻辑结构,是分布式数据库的全局。 3 ) 分片模式( f r a g m e n t a t i o ns c h e m a ) 描述全局数据的逻辑划分视图,它是全局数据逻辑结构根据某种条件的划分,即成 为局部的逻辑结构。每一个逻辑划分即是一个片段或分片。 4 ) 分配模式( ( a l l o c a t i o ns c h e m a ) 分配模式是根据选定的数据分布策略,定义各片段的物理存放站点,即定义段映像 的类型,确定分布式数据库是冗余的还是非冗余的,以及冗余的程度。 5 ) 局部概念模式( l o c a lc o n c e p t u a ls c h e m a ) 由分配模式到各局部数据库的映像把存储在局部场地的全局关系或全局关系片段 1 0 太原理工大学硕士研究生学位论文 映像为各局部概念模式,或者说一个站点上的局部概念模式是该站点上所有局概念模式 在该站点上物理映像的集合。局部概念模式采用局部场地的d b m s 所持的数据模型。 6 ) 局部内模式( l o c a li n t e r n a ls c h e m a ) 局部内模式是分布式数据库中关于物理数据库的描述,类似于集中式数据库内模 式。 从图2 2 模式结构中可以看出,分布透明性包括以下三个层次。 1 ) 分片透明性( f r a g m e n t a t i o nt r a n s p a r e n c y ) 分片透明性是分布透明性的最高层次,位于全局概念模式与分片模式之间。所谓分 片透明性是指用户或应用程序只对全局关系进行操作,不必考虑数据的逻辑分片。当分 片模式改变时,只要改变全局概念模式到分片之间的映像,从而不会影响用户程序,实 现各数据分片透明性。 2 ) 位置透明性( l o c a t i o nt r a n s p a r e n c y ) 位置透明性是分布的中间层,位于分片模式和分配模式之间。所谓位置透明性是指 用户或应用程序不必了解片段的存储场地,当片段及其副本的存储站点改变时,只要改 变从分片模式到分配模式之间的映像,从而不会影响用户程序,实现数据片段的位置透 明性。 3 ) 局部数据模型透明性( l o c a ld a t am o d e lt r a n s p a r e n c y ) 局部数据模型透明性是指用户或用户程序不必了解局部场地上使用的是哪种数据 模型,模型的转换以及数据库语言的转换均由分配模式到各局部概念模式之间的映像完 成。 2 6 分布式数据库的缺点 分布式数据库系统的主要缺点是由于要保证各站点间的正确合作而增加了复杂性。 增加复杂性主要表现为几种形式: 1 ) 软件开发代价更高。实现一个分布式数据库系统要更加困难,因此,代价更高。 2 ) 出现错误的可能性更大。由于构成分布式系统的各个站点并行地运行,因此更 难于保证算法的正确性,尤其是当系统的一部分发生故障时的运行,以及从故障中的恢 复。可能出现很微妙的错误。 3 ) 处理开销增大。消息的交换以及为了达到站点间的合作而需要的附加的计算是 太原理工大学硕士研究生学位论文 集中式系统中所没有的开销 2 7 小结 分布式数据库兴起于2 0 世纪7 0 年代,尤其是在9 0 年代,分布式数据库以其在分 布性和开放性方面的优势获得了众多青睐。其应用领域己不再局限于联机事务处理系统 ( o l t p ) 应用,从网格计算、i n t e r n e t 应用、数据仓库到高效的数据复制都可以看到分布 式数据库系统的影子。这些新型的应用在传统的分布式数据库应用相比不再具有理论上 强大的所有特点和功能,而是根据应用环境和需要的不同在保留基本结构的基础上做出 了适当的修改。 随着网络环境的日益普及,新的应用呈现出许多相似的特点那就是开放性和分布 性。对于i n t e m e t 商业应用来说分布性和开放性更是最基本的要求,并且随着人们对电 子商务、安全防范等复杂的w e b 应用需求的增加,w e b 应用不仅仅是对只读信息的存 取,面向商业活动的读取将迅速增加。这意味着,从简单的数据系统全球联网查询,逐 步转向更具有分布式数据库系统特色的应用环境。 我们知道,研究分布式数据库系统的目的、动机主要是组织目标,即为应用所驱动。 开放性、分布性不仅是当前新应用的要求,也同样是分布式数据库系统的优势所在。可 以预料在当前的网络、分布、开放的大环境下,分布式数据库系统将会有更加长足的发 展和应用。 1 2 太原理工大学硕士研究生学位论文 3 1 数据复制概述 第三章数据复制技术 数据复制是指在在分布式数据库系统的多个数据库之间拷贝和维护数据及其支持 对象的过程【6 】。这个过程中,将分布式数据库中某个结点的数据拷贝到不同物理地点的 数据库中,以支持分布式应用,它是整个分布式计算解决方案的一个重要组成部分。 在传统应用中,由单一站点承担数据中心角色,其他所有客户( 包括远端客户) 站 点存取数据都在该中心数据库上进行,虽然这样利于数据的管理,但也增加了数据维护 成本,且一旦由于业务繁忙,用户访问量大,则会造成数据库服务器负载沉重,运行效 率低下,甚至出现崩溃。同时,由于网络宽带有限,在访问高峰期,易于出现网络拥挤, 并且网络传输安全性和可靠性必须得到保证,这是安全、准确运行业务系统的基础。为 了提高网站运行效率,减少服务器负载,避开网络带宽的瓶颈,提高数据库信息的安全 性,传统的做法是申请更多的专线,提高服务器配置,以提高服务器的处理能力,采用 先进的数据备份和系统备份的方法,保证系统的安全。这样的方法不但投资大,而且 维护成本高。 数据复制可以把数据分发到其它的数据库,也可以将各个源站点的数据合并,最终 使所有的数据副本保持一致。用户可以就近访问需要的信息,甚至在本机获得出版数据 的拷贝,减少了对网络环境以及服务器的依赖,使得系统的可用性大大加强了。当在分 布式环境中有下列需求时,可以通过复制来解决阴: 1 ) 将数据复制或分发到一个或多个站点上。 2 ) 按照预定的计划分发数据副本。 3 ) 向其他服务器分发数据更改。 4 ) 允许多个用户和站点进行更改,然后将这些数据更改合并到一起,从而找出并 解决冲突。 5 ) 建立需要在联机和脱机环境中使用的数据应用程序。 6 ) 建立可供用户对大量数据进行查看的w e b 应用程序。 7 ) 对透明地处于发布服务器的事务控制之下的订阅站点进行随意更改。 不过由于数据复制一般采用松散一致性的模型钔,而且在数据复制环境中,特别是 1 3 太原理工大学硕士研究生学位论文 在对等( p e e rt op e e r ) 复制中,各个数据库服务器具有高度的本地自治性,就会产生数据 冲突。虽然数据复制也提供了多种冲突解决方法,但对于一些特殊的应用,在以下情况 是无法发挥数据复制的优点或者无法解决应用要求的【9 1 : 1 ) 如果对数据一致性要求严格。例如银行资金过户、航班机票的预定以及包裹装 运跟踪这样的事务处理应用程序,要求任何时候的信息不能有半点差错。对于一次事务 操作,必须在一个数据库进行,提交后才能在复制同步时把结果复制到其它的数据库副 本中。在同步期间各副本间交换的信息,是事务的结果,而不是事务本身。 2 ) 如果运行在本地的应用程序对数据库的副本进行频繁的插入、删除、更新等操 作,而在许多站点中都有副本存在,当位于不同地点的用户同时对同一条记录作修改时, 将发生记录冲突。数据冲突解决需要加载额外的冲突解决引擎,而且有的冲突还要手工 解决,即降低了应用程序的处理效率,也增加了系统负担。 3 ) 在其它一些特殊的应用领域,比如对数据的安全性要求严格的军事应用领域, 由于数据复制往往在广域网甚至在i n t e m e t 中进行,数据在网络上传输,可能遭到网络 攻击。多个站点都保存数据副本,一个被突破,整个系统就有可能被突破,故而如果采 取数据复制技术,在安全性上就要采取更多的措施,数据的维护变得更复杂。 在分布式数据库系统数据复制方面,人们已经进行了大量的研究,并提出了许多复 制策略与算法,如高效同步复制模型、基于组通信技术的同步复制【1 0 】、乐观复制方法 o h 1 2 1 、副审视技术等。 数据复制根据更新传播的方式分为两类:同步复制和异步复制【1 3 1 。 同步( 实时) 复制:能够保证应用程序的数据一致性,但是需要各数据节点之间频繁 通信以及时完成事务操作。此类复制保证所有数据更新后的完整性优先于事务操作的完 整性,即所有的数据拷贝在任何是都是同步的,如果某个节点由于某种原因崩溃了,则 正在进行的事务操作失败。 异步复制:允许事务不需要直接访问复制的数据拷贝就能完成操作。可以在任意时 刻更新源数据,稍后其他复制站点的数据才能得到更新。当目标系统崩溃时,该复制方 法仍能够适应,只是复制工作将延迟到系统恢复后进行。该方法的主要缺点是在任一时 刻不能保证所有节点具有相同的数据,这意味着不同节点产生同一份报告时,只有等到 所有的更新都完成之后才会给出相同的结果。 一旦选择了一种复制方法,同时也就决定了可供利用的功能和特征。 1 4 太原理工大学硕士研究生学位论文 当数据被定义为复制对象时,它是被出版的。一般来说要出版的数据统一在复制 组中被管理,每个复制组是相关复制对象的集合。出版数据的服务器称出版者,也称为 源站点或者主站点,定义为复制对象和复制组的源站点称为主定义站点。源站点服务器 维护要出版的数据,复制对象都是源站点数据库服务器的数据对象,复制组通过调度数 据链路将复制对象分发到复制组中添加的复制站点中。数据链路是为各个数据库间进行 通信,基于网络通信协议建立的数据通路。订阅服务器从主定义站点订阅复制组中的复 制对象,并且在本地生成复制对象的拷贝,相当于获得复制对象的快照,并且可以定期 刷新订阅的复制对象,以保持数据同步。在名义上,一个数据库服务器可以同时是出版 者,也可以是订阅者。 数据中心最终采用数据复制的方法,在不同的网络,地域分散的多个站点建立镜像 站点,每个镜像站点保存中心数据库服务器的全部或者部分数据副本,每个站点定期调 度数据链路与中心数据库保持同步。每个镜像站点具有较高的自治性,可以对数据库信 息进行事务操作,创建或修改本地数据对象,本地用户可以访问本地站点,发生更改的 信息在链路调度后分别由中心站点反映到各镜像站点。同时,各镜像站点也将更新信息 推回到中心站点,最终使各个数据库副本与中心数据库收敛一致。由此可看出通过数据 复制的方法实现整个分布式数据库中的维护具有以下几点优势: 1 ) 减少网络负载,因为不用每次通过网络获取要访问的数据; 2 ) 提高性能,因为能够进行本地数据访问; 3 ) 更好的负载平衡,较大的工作负载可以分布到多个节点; 4 ) 能够使用拷贝数据进行开放和测试; 5 ) 更好地支持商业应用。 当然,在实际应用中,由于各个数据库副本可能对相同的数据对象进行操作,当进行数 据同步时,就会产生冲突,主要有更新冲突、唯一性冲突、删除冲突等等。这些冲突会 严重影响数据库数据的完整性,所以在复制过程中必须尽量防止数据冲突的产生,一旦 发生冲突,就必须有预先设置的冲突解决方法。 3 2 数据复制基本原理 在构成分布式数据库系统的多个数据库中进行复制和维护数据库对象,是在本地被 捕获并保存在某个站点所作的更改内容,然后再转发应用到各个远程位置的过程。以下 1 5 太原理工大学硕士研究生学位论文 从复制环境、复制对象、复制组、复制数据链路、数据刷新、事务复制,实体化视图复 制、同步复制、异步复制等概念入手,说明复制的基本原理。 复制都是在复制环境中进行的,复制对象就是进行复制的数据库对象,如表、索引、 存储过程等。复制数据首先是同步的过程,复制站点从主定义站点获得复制对象如表的 结构,并获得数据的拷贝,作为本地表存储。从复制对象的内容来看,最基本的复制单 位是表,也可以是索引、视图等。数据初始同步以后,各个复制站点维护本地数据信息, 通过预先定义的连接数据库的数据链路定期地同步数据,将发生的更新信息合并或者分 发。在复制过程中,信息源是将要复制的数据所在的系统服务器,信息接收处是接受复 制过来数据的系统服务器或者其它服务器。从数据链路的方向来看,它可以是一个双向 的过程,也可以是一个单向的过程,复制时,数据根据调度的数据链路的方向双向或者 单向进行。刷新组管理实体化视图复制,其定期地由主站点将数据复制对象推入管理的 实体化视图站点,保证实体化视图的事务一致性。数据库信息何时保持一致,对于同步 复制来说是立即执行复制,对于异步复制则是取决于定时调度时间或者定时刷新时间。 复制中的复制组管理相关联的复制对象,通常,要创建并使用复制组来组织支持特 定数据库应用程序必需的方案对象。但是,复制组和方案无需相互一致。一个复制组可 以包含多个方案中的对象,一个方案可含有多个复制组中的对象。不过,一个复制对象 只能是一个复制组的成员。在主定义站点创建复制组后,就相当于发布了出版物,源站 点服务器是数据复制的目的地,无条件地获得发布的出版物,并且接收从其它源站点传 送过来的全部变化。主定义站点在初始同步后,其本身和其它的站点是对等的关系,只 是它具有管理的权限,可以删除复制对象,重新定义数据链路调度。当数据链路是双向 工作时,它是一个对等的复制过程,而且是以推的方式进行复制的;当数据链路是单向 工作时,只有一个站点的数据更新能够发布其它站点获得其拷贝,它是以拉的方式进 行复制的。 当复制在本地进行后,复制对象就成为本地实际储存的表,可以将实地化的表再次 进行复制,提高了本地自治的能力。进行实体化视图复制时,最小的复制单位可以是表 的一部分,相当于对表中的数据进行了过滤。过滤数据有三种方法,即水平讨滤、垂直 过滤和水平垂直混合过滤。水平过滤就是包含表一部分列,是列的子集。这时,复制对 象的内容只包含原表的可复制列。垂直过滤就是包含了表的一部分行,是行的子集,复 制对象只包含原表的部分行,在对等复制中维护的是整个复制对象的信息,无法进行数 1 6 太原理工大学硕士研究生学位论文 据过滤。在对等复制中,由于各主站点都对本地化的复制对象具有同等的更新权限,容 易产生冲突,就必须有良好的冲突解决方法,在可更新实体化视图复制中也会产上冲突, 而在单向复制中,因为只有一个站点具有更新的权限,不会产生冲突。异步数据复制的 基本过程如图3 - 1 所示。 源数据库目标数据库 更改 复制表 内部过程 困户困 图3 - i 异步复制原理图 f i g 3 - 1a s y n c h r o n o u sr e p l i c a t i o ns c h e m a t i c 如图3 1 所示,在数据库管理系统内部设置一个触发器,一旦有复制对象发生更 新等事务操作,触发器就产生事务队列并由数据库作业发送事务处理,在复制系统的主 站点之间或者可更新快照与其主站点间传播数据的变化。数据库用内部触发器捕获并存 储对复制数据的更新信息,内部触发器建立远程过程调用( r p c ) 在远端复制站点对数 据进行和本地相应的操作。由于是异步复制,触发器产生的远程过程调用被存储在事务 队列中等待传播。这

温馨提示

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

评论

0/150

提交评论