




已阅读5页,还剩48页未读, 继续免费阅读
(信息与通信工程专业论文)数据复制及备份技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科技大学研究生院学位论文 摘要 本文研究了分布式环境中的数据复制技术和基于大型数据库系统的数据备份 及恢复技术。 在数据库的分布式应用的推动下,数据复制技术以其突出的优点得到了广泛 的应用,现已成为数据库技术研究领域的热点。 _ _ _ - _ _ _ _ _ 一 数据复制技术将出版数据库定义的出版物出版到订阅数据库,为分布式环境 中信息的发布提供快速有效的手段。使远程用户能在本地引用复制的数据完成分 命式操作,减少网络和中心数据库服务器的负载。用户在本地对复制数据库进行 的操作也可返回到中心数据库,为数据收集和数据库备份提供了有效的手段。 本文主要对数据复制技术在传统的关系数据库和面向对象数据库中的实现方 法,以及在复制过程中数据冲突解决方法进行研究。对数据复制模型进行了深入 研究;研究了解决在对等复制中产生的冲突的方法:针对空i 日j 数据库对象类型数 据特点,研究了支持对象类型的数掘复制,提出对象实体化视图复制的解决方法。 基于研究内容,在试验系统中实现了关系数据库和空间数据库的数据复制功能, 提出了在广州消防通信指挥系统中的复制解决方案。另外,对于数据库系统数据 的保护,探索了数据库备份及恢复的关键技术和基本的实现方法。 关键宇: 复矍对象_ 关秒据库f ? 爹? 步复 第i 页 国防科技大学研究生院学位论文 a b s t r a c t t h i sp a p e rs t u d i e st h ed a t a r e p l i c a t i o nt e c h n i ci nd i s t r u b u t e de n v i r o n m e n t a n d d a t ab a c k u pa n dr e c o v e r yt e c h n i cu s e di nv e r yl a r g ed a t a b a s es y s t e m w i t ht h ep u s ho fd i s t r i b u t i o na p p l i c a t i o no fd a t a b a s e ,t h ed a t ar e p l i c a t i o nt e c h n i c i sw i d e l yu s e db e c a u s eo fi t s a d v a n t a g e sa n db e c o m e sah o t s p o ti nt h ef i e l d o f d a t a b a s et e c h n i cr e s e a r c h d a t ar e p l i c a t i o np u b l i s h e st h ep u b l i c a t i o nw h i c hi sd e f i n e db yp u b l i s h i n gd a t a b a s e t oo t h e rs u b s c r i b i n gd a t a b a s e ,w h i c hp r o v i d e saq u i c ka n de f f i c i e n tm e t h o dt or e l e a s e i n f o r m a t i o ni nd i s t r i b u t i o ne n v i r o n m e n t t h er e m o t eu s e r scant a k ed i s t r i b u t e d o p e r a t i o no nt h er e p l i c a s ,t h e nc u td o w nt h el o a do fn e t w o r ka n dc e n t e rd a t a b a s e s e r v e r t h er e s u l tt h a tu s e rh a so p e r a t e do nt h er e p l i c a sm a yp u l lb a c kt ot h ec e n t e r d a t a b a s e ,w h i c hp r o v i d e sa na v a i l a b l em e a n sf o rd a t ac o l l e c t i o na n dd a t a b a s eb a c k u p t h i sp a p e rm a i n l ys t u d i e st h ed a t ar 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 n d a t a b a s ea n do b j e c tr e l a t i o n a ld a t a b a s e s t u d i e st h ed a t ac o n f l i cs o l u t i o ni nr e p l i c a t i o n p r o c e d u r e w ed e e p l ys t u d yt h em o d u l e so f d 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 s o l u t i o nm e t h o d s a c c o r d i n gt ot h ec h a r a c t e r i s t i c so fo b j e c tt y p ed a t ai ns p a t i a l d a t a b a s e ,w es t u d yt h ed a t ar e p l i c a t i o nw h i c hs u r p p o r to b j e c tt y p ed a t a ,a n dp u t f o r w a r do b j e c tm a t e r i a l i z e dv i e wr e p l i c a t i o n w ei m p l e m e n tt h ef u n c t i o n o f d a t a r e p l i c a t i o ni nr e l a t i o nd a t a b a s es y s t e ma n ds p a t i a ld a t a b a s es y s t e m ,d e s i g nt h ed a t a r e p l i c a t i o ns o l u t i o np r o j e c ti ng u a n g z h o uf i r ep r o t e c t i o na n dc o m m u n i c a t i o ns y s t e m i na d d i t i o n ,w er e s e a r c ht h ek e yt e c h n i co fd a t a b a s eb a c k u pa n dr e c o v e r y ,w h i c hi s v e r yi m p o r t a n tt od a t a b a s ep r o t e c t i o n k e yw o r d s : r e p l i c a t i o n ,o b j e c t - r e l a t i o n a ld a t a b a s e ,c o n f l i c t ,b a c k u p ,r e c o v e r y 第i 页 国防科技大学研究生院学位论文 第一章绪论 一1 1 课题背景 当前人类社会的信息量得到空前的爆炸式的膨胀,数据仓库技术,数据挖掘 技术方兴未艾,联机事务处理,联机分析处理、决策支持系统、企业资源规划等 等都对数据信息管理提出了更高的要求。这就要求数据库管理系统必须对数据库 的事务操作,数据共享,数据维护,安全性等方面提供更有效、实时的支持。传 统的联机事务处理是以对数据库进行频繁的操作为特征的 1 ,用户对数据库进 行的操作和数据库数据紧密绑定,通过弗发事务控制、分布事务控制的方法维护 数据一致性,数据库提供了数据锁、事务同志等机制。但是,一方面事务控制在 分布式数据库系统中变得越来越复杂,开销越来越大,例如二阶段提交协议虽然 在保证分布式事务的执行,不过对事务提交的管理需要额外的系统开销,需要表 决和决策以完成事务,增加了服务器的负担,对网络连接也有较高的要求往往 要求高速、可靠的网络环境,无法解决联机事务与实时决策支持系统的矛盾;另 方面,越来越多的业务应用程序设计为在分布计算环境中运行。除了将应用程 序分句到出工作站、服务器和传统大型机构成的网络,许多应用程序出集中的集 体办公室分布到位于其它区域的卫星办公室,而且还渐渐分布到移动办公室( 膝 上型电脑) 。分稚的数据库和移动数据库要求24 小时运行和精细追踪的系统, 同时还需要保证较高的数据可靠性。而且分布式数据库应用通常采用异构网络和 计算平台的混合,这使得数据维护问题更加困难。 对于非实时连接的数据库,往往要求能有效快速地获得中心数据库或者其它 数据库的信息,例如对于移动用户,不可能实时与中心数据库保持连接,用户又 需要中心数据库的数据进行计算或其它操作。这些都是数据复制技术产生并得以 不断发展的原因。 传统的数据复制技术,是在i n t e r n e t i n t r a n e t 中由复制代理通过数据库快 照和阅读数据库同志的的方法,实现出版数据和订阅数据日l 。各个订阅数据库获 得当前最新版本,完成相应的操作,最终使各个数据库副本与出版数据库保持一 致,数据复制不但解决了联机事务处理和实时决策的矛盾,而且各个复制数据库 高度自治,提高了局部节点的事务处理效率,使数据查询的高效运行,减少了网 络负载和中心数据库的负荷,通过多个数据副本,可以恢复任意一个或多个数据 库,使系统具有高度的健壮性。随着数据库技术的发展,数据库由关系型数据库 第1 页 国防科技人学研究生院学1 :i 7 = 论文 发展到对象一关系型数据库,数据库管理的数据类型也由关系型数据扩展到面向 对象类型的数据,数据复制技术也扩展到对面向对象数据的复制支持。 本课题作为预研系统,在实验环境下,研究了传统数据复制在实现复制时面 临的各种问题,例如复制模型、复制对象管理、复制环境建立、复制冲突的解决 等等,以提高复制数据库事务的处理效率,维护数据库数据一致性。对于空间数 据库的数据复制根据其数据对象的特点,结合当前对象数据复制的研究方法,提 出了一种适合于空间数据库复制的方案,构建了对象关系数据库的复制环境。在 数据维护中,数据备份和恢复是一项十分关键的技术,直接关系到数据库系统的 安全性、健壮性。完善的数据备份和恢复技术和策略是一个完善的数据库系统的 必要组成部件。作为课题的一部分,研究数据备份与恢复具有实际的应用意义。 1 2 数据复制研究现状 1 2 1 关系数据库数据复制研究现状【7 8 1 1 “1 i ”1 随着数据仓库技术的发展、联机分析处理( o l a p ) 、决策支持系统( d s s ) 、电 子商务等的需求的推动下,海量数据存储、数据实时更新、数据一致性维护愈显 重要。目前主要的数据库管理系统如o r a c l e ,m ss q ls e r v e r ,s y b a s e ,d b 2 ,m y s q l 等都在原有的数据复制功能上,添加更多的组件,提供了许多数据复制的 工具,针对不同的应用提出并研究了各种数据复制方法,增加了更强犬的技术支 持。 ( 1 ) o r a c l e 复制系统主要支持以下四种类型的复制4 1 【l 5 i 多主复制( m u l t i m a s t e rr e p l i c a t i o n ) ,多主复制是一种对等复制,每个主站 点都有相同的权限,每个站点都可以修改复制数据库中的数据,并传播到其他站 点。 实体化视图复制( m a t e r i a l i z e dv i e wr e p l i c a t i o n ) ,实体化视图就是在某个时 间点上从目标数据库中获得数据库副本,刷新组定时按照增量方式刷新实体化视 图,又称快照复制。实体化视图包括只读实体化视图,可更新实体化视图,可写 实体化视图等。实体化视图本身又可以作为其它的站点实体化视图的目标数据 库,而且还可以一级级进行下去,就成为多层实体化视图。 多主和实体化视图混合复制( m u l t i m a s t e ra n dm a t e r i a l i z e dv i e wh y b r i d r e p l i c a t i o n ) ,顾名思义,就是在数据复制环境中进行多主复制与实体化视图混 合配置的复制,一个复制站点可以既是多主复制站点,又是实体化视图站点。 程序复制,就是对于有大量数据行更新的复制,不是将变化的数据直接进行 复制,而是产生与源站点相同的包含事务操作的包,在其它站点执行。 第2 页 国防科技大学研究生院学位论文 ( 2 ) m ss q ls e r v e r 主要支持以下三种复制类型1 8 j f ”j 快照复制,就是将出版者方的出版物通过快照代理拷贝到分送者的分送工作 目录( 以+ sch 、+ idx 和+ bcp 为扩展名的些文件) ,然后通过分送代理拷 贝到订阅者。这是最简单的种复制方法。 事务复制,在事务复制中,在出版者方的源数据的修改能够及时地拷贝到订 阅者。这种类型是通过日志代理完成。系统通过日志阅读器代理将出版服务器上 的事务传送到分送服务器的分送数据库,再通过分送代理将分送数据库的数据传 送到订阅服务器上。在事务复制发生前,必须执行快照复制,使系统同步,获得 基本的数据。 合并复制,在合并复制中,允许订阅者修改复制的数据。然后,在订阅方修 改的数据通过合并代理被集中到出版方 ( 3 ) s y b a s e 数据复制技术采用种基本的“发布一预订”模式来实现跨网络 的数据复制。用户“发布”主点数据库中可用的数据,然后其他用户“预订”这 些数据,将它们传递到一个复制数据库中。其复制模式有6 ”。i : 基本主复制模式。复制数据的方法是从一个源( 主) 数据库将更新分发到一 个或多个目标点( 复制) 数据库。为确保一致性,将把一张源表指定为主表。该 表的所有其它版本都是复制表,且都是只读的。 分布式主段。每个站点上的复制服务器把对本地数据的修改分发到其它站 点,并把从其它站点接收到的修改应用到本地复制的数据。 c o r p o r a t er o l l u p 模式。该模式有多个分布式主段和一个集合式合并复制表。 每个主站点上的表只包含对该站点而言是主数据的数据。没有任何数据复制到这 些站点上。c o r p o r a t er o l l u p 表将各个主站点的数据“集中”到起。 r e d i s t r i b u t e dc o r p o r a t er o l l u p 模式。该模式与c o r p o r a t er o l l u p 模式相似。分 布在各个远程站点上的主段被集中到中心站点上的合并表中。不过,在合并这些 段的站点上,有一个复制代理将合并表当作主数据来进行处理。然后这些数据将 被转发到复制服务器,分发给预订方。 s y b a s e 通过开放式接口支持异构数据库服务器。可以将任何数据存储系统用 作数据服务器,只要它支持一组必须的基本数据操作和事务处理指令。用户可以 使用s y b a s e 的复制代理把数据从非s y b a s e 的数据库源中取出,用d i r e c t c o n n e c t s 作为网关可复制到非s y b a s e 的目标数据库中。 ( 4 ) d b 2 的主要复制方式是p e e rt op e e r 的方法【2 ”。 d b 2 的复制方式给每个站点都赋予了同等的权限,通过复制代理服务器进行 数据复制,通过触发器获取变化的数据并进行传播。对于异构数据源之间的数据 第3 页 国防科技大学研究生院学何论文 复制,通过专门的复制代理从数据源中获耿数据然后在d i r e c tc o n n e c t o r 出版。 由于每个站点都有相同的权限,可能对数据对象同时进行更新,容易j “生数掘冲 突,如果在数据库引擎中增加冲突解决方法,就会影响其效率。所以必须对复制 的站点和内容预先进行规划,避免产生冲突,影响了其灵活性。 ( 5 ) m ys q l 数据复制是一种基于日志的方法【3 。 m y s q l 数据库是一种基于网络应用的新型数据库,它提供数据复制的主要 方法是通过在中心数据库服务器上跟踪二进制日志,将变化的部分发送到从数据 库服务器,然后在从数据库服务器中读取日志,根据得到信息在数据副本上执ij : 相应的操作。m ys q l 支持一个中心数据库,多个从数据库的复制模式。 1 2 2 面向对象数据复制研究现状2 2 4 1 1 2 6 i 现代数据管理对数据的要求越来越复杂,对数据库的要求,1 i 再是仪仪基尹天 系模型,例如,地理信息系统中对于空间数据和属性数据的管理从以前的文件管 理阶段发展到数据库管理阶段,是面向对象数据库技术的一个具体运用实例。在 文件管理阶段,为了提高本地数据存取和检索速度,采用对访问频繁的文件资源 经常进行镜像,即复制到许多地区的服务器的方法,对非数据库数据的复制有目 录复制的方法,目录复制允许在多台服务器和工作站上安装和维护相同的目录 树,一台服务器上的文件或者目录的更新被周期性地复制到其它服务器和工作 站。目录复制主要有以下三种模式: 标准目录复制:把一个系统的整个目录复制到另一个系统。 改进目录复制:首先扫描复制目录下的所有文件,只把发生了变化的文件复 制到另一个系统。 d e l t a 目录复制:就是在改进曰录复制的基础一卜,只复制文件中发生了变化 的部分。 随着对象一关系数据库技术的发展,数据库与面向对象技术的结合,对象一 关系数据库支持大对象、分布式数据库、用户自定义数据类型和抽象数掘类型, 文件数据的管理上升到数据库管理阶段,对非数据库数据的复制的研究就成为数 据库中面向对象数据的复制研究的内容。对象一关系数据库中存放的对象类型的 数据和关系类型数据一样,往往需要在多个站点镜像,本文将在对象关系数据 库管理系统中基于对象模型的复制对象开展研究。 目前,对于支持空间数据库的o r a c l e 数据库产品中,尤其是在o r a c l e 9 i 中增 加了对于用户自定义类型的复制支持,其它的数据库产品中对用户自定义数据类 型也提供了复制支持。 在d b 2 数据库中,对对象数据的复制机制t 要方法是:采用数据库数扼一转 第4 贝 国防科技大学研究生院学位论文 换为文本文件一分发到目的数据库一转换为对象数据的方法。在内部实现主要是 基于触发器的,而不是基于事务的,一旦空间数据被修改,触发器就进行数据转 换工作,产生工作视图,将数据转换为文本数据并传输到目的数据库,接收触发 器再将文本文件转换为数据库数据,使源数据库数据和目的数据库数据保持数据 一致性,实现数据复制功能。 o r a c l e 数据库中对自定义数据类型的复制采用和普通数据类型相似的复制方 法。其对关系数据库的管理引入了对面向对象数据模型的内容,在数据库内部支 持对象类型数据的数据库操作,把包含对象数据的表也作为复制对象在复制组中 进行管理,在复制坏境中进行复制。其主要的复制类型包括多主复制和对象实体 化视图复制。创建对象实体化视图复制,是在某一时间点上获取复制对象的快照, 通过刷新组同步数据,对象实体化视图复制包括只读复制和可更新复制、可写复 制。 1 3 论文主要研究内容 由于数据复制的优点,数据复制技术在分稚式应用的数据库系统中得到广泛 的应用。从数据复制中站点自治性看,主要有对等复制和快照复制两种,从数据 复制的实时性看,主要有同步复制和异步复制,从复制的内容上看,复制对象有 关系数掘库数据和对象一关系数据库中的面向对象数据。本文主要研究了数据复 制的基本原理;分析了同步复制和异步复制的实现机制;比较对等复制和快照复 制的特点。针对在对等复制时产生数据冲突,造成数据库数据不一致的情况,根 据不同的应用,研究了各种冲突解决机制。随着对象一关系数据库技术的发展, 本文结合传统的数据复制豹基本原理和类型,对包含抽象数据类型的对象表数据 的复制提出一种较实用的方法,该方法基于实体化视图的基本工作原理,在支持 对关系数据库数据复制的同时,实现面向对象数据复制。本文根据对复制技术的 研究,在广州消防通信指挥系统中提出了用数据复制技术实现数据共享的方案。 本文还对数据库备份及恢复技术作了较全面和深入的研究工作。数据库备份 是一个完善的数据库系统数据保护重要组成部分,本文研究了备份及恢复的基本 原理、原则、基本实现方法等等。 论文主要创新点: l 、结合当前数据复制技术,提出实现对象数据复制的模型和基本实现方法。 2 、分析在对等复制中数据冲突原因,研究了冲突解决机制,为对等复制的 应用提供了技术支持。 第5 页 国防科技大学研究生院学位论文 3 、提出了较为实用可行的数据复制实现方案。 4 、在对数据复制技术和数据库备份及恢复的研究中,较全面地研究了数据 库数据维护的实现技术和方法。 1 4 论文组织 论文分为六章。 第一章是绪论,介绍课题背景,数据复制技术的发展过程、实际应用意义、 基本特征及发展趋势,当前数据复制技术的常用技术和方法等。 第二章深入研究了传统关系数据库复制系统的工作模型。分析了数据复制中 的冲突产生原因及解决方法。 第三章结合当前空阳j 数据库的应用,针对在分布式数据库上的数据复制需 求,结合当前对象数据复制的特性,提出了一种基于广域网的对象数据复制模型 及其技术实现方法。 第四章研究了数据库数据备份及恢复的基本原理,特性。提出了一种数据复 制及备份的实际方案及其技术解决方法。 第五章介绍了o r a c l e 数据库管理系统的数据复制技术、面向对象数据复制技 术在广州消防通信指挥系统中的实际应用。 第六章是对本文的总结和对未来的展望。 第6 页 国防科技大学研究生院学位论文 第二章数据复制实现技术 数据库复制技术允许一个或多个源服务器上的数据拷贝自动传送到本地或远 端的一个或多个目的服务器,复制提供了将集中的信息散布到分布业务环境中多 个地点的可靠手段。在复制中,数据可以以特定的时间间隔将数据复制到远端, 即异步复制,或者立即将改变的数据复制到远端站点,即同步复制。数据表可以 全部或部分复制,即对复制表进行数据过滤。进行复制时,可以是将复制对象的 数据全部复制,也可以是只将发生变化的数据进行复制即增量复制的方法。复制 可以保存一个表的多个拷贝,可以使多个数据库密切同步,在多个数据库服务器 上根据调度的数据链路有间隔地更新数据,并且在系统产生故障后重新使复制保 持同步。 2 1 数据复制概述 数据复制作为数据维护实时、有效的手段,在许多地方适用。我们以一个简 单的例子说明数据复制的概念。一个商业网站由于业务繁忙,访问量很大,服务 器负载沉重,由于网络带宽有限,用户访问在高峰期出现网络拥塞:同时,网站 要维护的用户基本信息、业务信息,有几千力条信息,数据量很大,数据维护成 本高;另外,由于黑客攻击以及一些不可预知的事故,有可能造成数据丢失甚至 系统崩溃的危险。为了提高网站运行效率,减少服务器负载,避开网络带宽的瓶 颈,提高数据库信息的安全性,传统的做法是申请更多的专线,提高服务器配置, 以提高服务器的处理能力,采用先进的数据备份和系统备份的方法,保证系统的 安全。这样的方法不但投资大,而且维护成本高。 数据网站最终采用数据复制的方法,在不同的网络,地域分散的多个地点建 立镜像站点,每个镜像站点保存中心数据库服务器的全部或者部分数据副本,每 个站点定期调度数据链路与中心数据库保持同步。每个镜像站点具有较高的自治 性,可以对数据库信息进行事务操作,创建或修改本地数据对象,本地用户可以 访问本地站点,发生更改的信息在链路调度后分别由中心站点反映到各镜像站 点,同时,各镜像站点也将更新信息推回到中心站点,最终使各个数据库副本与 中心数据库收敛于一致。 由于各个数据库副本可能对相同的数据对象进行操作,当进行数据同步时, 就会产生冲突,主要有更新冲突、唯一性冲突、删除冲突等等。这些冲突会严重 影响数据库数据的完整性。所以在复制过程中必须尽量防止数据冲突的产生,一 第7 页 国防科技大学研究生院学位论文 旦发生冲突,就必须有预先设置好的冲突解决方法。 为全面把握和理解数据复制技术,以下引出一些基本概念i s l m 4 l 【”i : 当数据被定义为复制对象时,它是被出版的,一般来说要出版的数据统一在 复制组中被管理,每个复制组是相关复制对象的集合。出版数据的服务器称出版 者也称为为源站点或者主站点,定义复制对象和复制组的源站点称为主定义站 点。源站点服务器维护要出版的数据,复制对象都是源站点数据库服务器的数据 对象,复制组通过调度数据链路将复制对象分发到到复制组中添加的复制站点 中。数据链路是为各个数据库间进行通信,基于网络通信协议建立的数据通路。 订阅服务器从主定义站点订阅复制组中的复制对象,并且在本地生成复制对 象的拷贝,相当于获得复制对象的快照,并且可以定期刷新订阅的复制对象,以 保持数据同步。在名义上,一个数据库服务器可以同时是出版者,也可以是订阅 者。 数据复制技术将某个服务器的基本表模式和表中的数据复制和分发到远程或 本地其它的数据库服务器上,保证数据同步更新,从而引用复制的数据完成分靠 式查询等操作,减少网络操作,减轻服务器负载。一般说来,有两种不同类型的 复制形式:紧密一致性复制和松散一致性复制。 紧密一致性( t i g h tc o n s i s t e n c y ) 是这样一种复制模式,它保证所有副本内容 与数据源的内容紧密一致,对涉及到复制内容的事务作为一个原子事务执行,事 务在所有服务器上都必须提交或回滚,因此数据在某一时刻是1 0 0 同步的,可 以通过分布事务处理并发控制算法及协议来保证数据库数据一致。当前并发控制 算法主要有三类:其一是基于锁的协议;其二是基于时间戳的协议;其三是基于 有效性检查的协议。具体有2 p l ( t w op h a s el o c k i n g ) 算法、w w ( w o u n d w a i t ) 锁算法、b t o ( b a s i ct i m e s t a m po r d e r i n g ) 算法、分布式认证( d i s t r i b u t e c e r t i f i c a t i o n ) 方法以及0 2 p l ( o p t i m i s t i ct w op h a s el o c k i n g ) 算法等等1 1 1 1 ”i 。 以上的并发控制算法设置了事务提交或者回滚的条件,保证了事务的a c i d 特性。 而在松散一致性复制模型中,事务只在源服务器上提交或回滚。在源服务器上的 事务处理结果随后会异步地复制到订阅服务器上。保证紧密一致性模型和松散一 致性模型之间的最大区别是:使用松散一致性模型时,在源服务器所做的修改复 制到目的服务器之间有一段时间间隔。也就是说数据暂时不同步。要实现紧密一 致性,必须满足数据库事务处理串行化的要求,对网络要求高,还需要网络事务 监视器以仲裁分布事务的执行情况,增加了额外的系统开销,增加了系统的复杂 性。紧密复制保证了数据的一致性,但是,由于在事务处理中要添加额外的信息, 增加了事务响应时间,降低了数据库的执行效率。松散一致性模型允许副本之间 存在时间差,不要求副本之间的精确同步,各节点对本地数据有完全控制能力, 第8 页 国防科技大学研究生院学位论文 对本地数据的更新无需与其它节点协调,只是把更新信息通知其余各副本所在节 点,对网络要求低,实用性强。除非特殊的应用,数据复制都是以松散一致性模 型为基础的。 数据复制可以把数据分发到其它的数据库,也可以将各个源站点的数据合 并,最终使所有的数据副本保持一致。用户可以就近访问需要的信息,甚至在本 机获得出版数据的拷贝,减少了对网络环境以及服务器的依赖,使得系统的可用 性大大加强了。通常是出于以下原因而使用复制: 1 ) 可用性。复制可提高应用程序的可用性,因为它提供了其它数据访问途 径。如果一个站点不可用,用户可以继续查询其它站点的数据。即复制提供了出 色的故障转移保护功能。 2 ) 性能。复制使您能够在本地对共享数据进行快速访问,因为它可在多个 站点之间平衡操作。一些用户可以访问一个服务器,同时其他用户可以访问其他 服务器,这样就减少了所有服务器的负载。而且用户可以从访问成本最低的复制 站点访问数据,这些站点通常在地理位置上离用户最近。 3 ) 无连接计算。实体化视图是在一瞬间截取的目标表的完整或部分副本。 通过实体化视图,用户可在断丌与中央数据库服务器连接的情况下使用数据库的 子集。稍后在建立连接时,用户可以根据需要对实体化视图进行同步( 刷新) 操 作。刷新实体化视图时,用户接收在断丌连接期| 1 日j 可能发生的任何更改,也可以 将用户所作的更改应用到中心数据库中。 4 ) 减少网络负载。复制可用于在多个区域位置上分布数据。然后,应用程 序可访问各个区域服务器,而不是访问一个中央服务器。此配置可以极大地减少 网络负载。 5 ) 大型部署。随着日渐增长的需求,组织将需要部署具有使用和操纵数据 能力的众多应用程序。通过部署模板可用于快速创建多个实体化视图环境。可以 在每个实体化视图环境使用自定义变量以满足各自需要。例如,可以使用部署模 板来实现销售队伍的自动化,在此情况下,该模板可以包含各个销售区域和销售 人员的变量。 6 ) 数据共享。例如各个予公司需要知道总公司的有关数据信息,总公司必 须了解子公司的业务情况。就可以复制要出版的数据,在各子公司建立数据库副 本,使之与总公司的数据库同步,同时,子公司也可以维护本地数据副本的表, 然后再合并到源数据库。达到共享数据的目的。 在以下的应用程序中通常要用到复制: 1 ) 复制支持具有不同要求的多种应用程序,其中某些应用程序需要相对独 第9 页 国防科技大学研究生院学位论文 立的单个实体化视图站点。例如,销售队伍自动化、现场服务、零售和其他大型 部署应用程序通常要求中央数据库系统和大量小型远程站点( 它们和中央数据库 的连接经常断开) 问的数据定期同步。无论连接中央数据库与否,销售队伍的成 员都必须能够完成事务处理。在这种情况下,远程站点必须是独立的。 2 ) 另一方面,诸如呼叫中心和i n t e r n e t 系统的应用程序要求多台服务器上 的数据以一种近乎瞬时的连续方式同步,从而确保始终都能提供等效的服务。例 如,i n t e r n e t 上的零售w e b 站点必须确保顾客在各个站点的联机目录中都可以 查看到相同的信息。 不过由于数据复制一般采用松散一致性的模型,而且在数据复制环境中,特 别是在对等( p e e rt op e e r ) 复制中,各个数据库服务器具有高度的本地自治性, 就会产生数据冲突,虽然数据复制也提供了多种冲突解决方法,但对于一些特殊 的应用,在以下情况是无法发挥数据复制的优点或者无法解决应用要求的。 1 ) 如果对数据一致性要求严格。例如银行资金过户、航班机票的预定以及 包裹装运跟踪这样的事务处理应用程序,要求任何时候的信息不能有半点差错。 对于一次事务操作,必须在一个数据库进行,提交后才能在复制同步时把结果复 制到其它的数据库副本中。在同步期间各副本问交换的信息,是事务的结果,而 不是事务本身。 2 1 如果运行在本地的应用程序对数据库的副本进行频繁的插入、删除、更 新等操作,而在许多站点中都有副本存在,当位于不同地点的用户同时对同一条 记录作修改时,将发生记录冲突。数据冲突解决需要加载额外的冲突解决引擎 而且有的冲突还要手工解决,即降低了应用程序的处理效率,也增加了系统负担。 3 ) 在其它一些特殊的应用领域,比如对数据的安全性要求严格的军事应用 领域,由于数据复制往往在广域网甚至在i n t e r n e t 中进行,数据在网络上传输, 可能遭到网络攻击。多个站点都保存数据副本,一个被突破,整个系统就有可能 被突破,故而如果采取数据复制技术,在安全性上就要采取更多的措施,数据的 维护变得更复杂。 2 2 数据复制基本原理 在构成分布式数据库系统的多个数据库中进行复制和维护数据库对象( 如 表) ,是在本地被捕获并保存在某个站点所作的更改内容,然后再转发应用到各 个远程位置的过程。 复制使用分布式数据库技术来实现在多个站点之间的数据共享,而已复制数 据库和分布式数据库有所不同。在分布式数据库中,数据在许多位置都可用,但 第l o 页 国防科技人学研究生院学位论文 是一个特定的表只存在于一个位置上,数据库的数据被分为不同的部分存储在各 个数据库中。例如,一个大公司的e m p l o y e e 表仅存在于分布式数据库系统的 n e w y o r k w o r l d 数据库中,而该系统其它的表则存储在h o n g k o n g w o r l d 和 b e i j i n g w o r l d 数据库中。复制意味着同样的数据在多,个位置都可用。例如, e m p l o y e e s 表在n e w y o r k w o r l d 、h o n g k o n g w o r l d 和b e i j i n g w o r l d 上均可用o 1 4 1 1 2 3 1 以下从复制环境、复制对象、复制组、复制数据链路、数据刷新、事务复制, 实体化视图复制、同步复制、异步复制等概念入手,说明复制的基本原理。 在复制过程中,涉及的复制组件和复制服务都比较多,复制的实现也比较复 杂。复制都是在复制环境中进行的,复制对象就是进行复制的数据库对象,如表、 索引、存储过程等。复制数据首先是同步的过程,复制站点从主定义站点获得复 制对象如表的结构,并获得数据的拷贝,作为本地表存储。从复制对象的内容来 看,最基本的复制单位是表,也可以是索引、视图等。数据初始同步以后,各个 复制站点维护本地数据信息,通过预先定义的连接数据库的数据链路定期地同步 数据,将发生的更新信息合并或者分发。在复制过程中,信息源是将要复制的数 据所在的系统服务器,信息接收处是接受复制过来数据的系统服务器或者其它服 务器。从数据链路的方向来看,它可以是一个双向的过程,也可以是一个单向的 过程,复制时,数据根据调度的数据链路的方向双向或者单向进行。刷新组管理 实体化视图复制,其定期地由主站点将数据复制对象推入管理的实体化视图站 点,保证实体化视图的事务一致性。数据库信息何时保持一致,对于同步复制来 说是立即执行复制,对于异步复制则是取决于定时调度时间或者定时刷新时i 日j 。 复制中的复制组管理相关联的复制对象,通常,要创建并使用复制组来组织 支持特定数据库应用程序必需的方案对象。但是,复制组和方案无需相互一致。 一个复制组可以包含多个方案中的对象,一个方案可含有多个复制组中的对象。 不过,一个复制对象只能是一个复制组的成员。在主定义站点创建复制组后,就 相当于发布了出版物,源站点服务器是数据复制的目的地,无条件地获得发布的 出版物,并且接收从其它源站点传送过来的全部变化。主定义站点在初始同步后, 其本身和其它的站点是对等的关系,只是它具有管理的权限,可以删除复制对象, 重新定义数据链路调度。当数据链路是双向工作时,它是一个对等的复制过程, 而且是以推的方式进行复制的;当数据链路是单向工作时,只有一个站点的数据 更新能够发布,其它站点获得其拷贝,它是以拉的方式进行复制的。 当复制在本地进行后,复制对象就成为本地实际储存的表,可以将实地化的 表再次进行复制,提高了本地自治的能力。进行实体化视图复制时,最小的复制 单位可以是表的一部分,相当于对表中的数据进行了过滤。过滤数据有三种方法, 即水平过滤、垂直过滤和水平垂直混合过滤。水平过滤就是包含表一部分列,是 第1 l 页 国防科技大学研究生院学位论文 列的子集。这时,复制对象的内容只包含原表的可复制列。垂直过滤就是包含了 表的一部分行,是行的子集,复制对象只包含原表的部分行,在对等复制中维护 的是整个复制对象的信息,无法进行数据过滤。 在对等复制中,由于各主站点都对本地化的复制对象具有同等的更新权限, 容易产生冲突,就必须有良好的冲突解决方法,在可更新实体化视图复制中也会 产生冲突,而在单向复制中,因为只有一个站点具有更新的权限,不会产生冲突。 异步数据复制的基本过程如图2 1 所示: 源数据库目标数据库 i 内部过程i ,i 一l i 错谈f 1 忠i 复制表 l 错误l t , g l 复制表 y答 羞 内部触发器 内部触发器 昏储 t 事务发送队列k i 事务发送队列i 图2 1异步复制原理图 如图所示,在数据库管理系统内部设置一个触发器,一旦有复制对象发生更 新等事务操作,触发器就产生事务队列并由数据库作业发送事务处理,在复制系 统的主站点之间或者可更新快照与其主站点间传播数据的变化。数据库用内部触 发器捕获并存储对复制数据的更新信息,内部触发器建立远程过程调用在远端复 制站点对数据进行和本地相应的操作。由于是异步复制,触发器产生的远程过程 调用被存储在事务队列中等待传播。这些传播过程是用工作队列机制和事务发送 机制来管理的。每个复制站点服务器都有一个本地工作队列。工作队列就是存储 本地执行s q l 调用进行工作、何时工作等等诸类信息的表,o r a c l e 通过执行r p c s 传播数据复制信息。用分布式事务协议自动保证数据库完整性和数据可用性。 同步复制的机制和异步类似。如图2 2 所示,在同步复制中数据库管理系统 中同样也有一个用于产生r p c s 的触发器进行行级的数据复制到其他站点。不过 r p c s 是在修改复制对象的事务的同时进行的,就必须保证事务能在所有站点执 第1 2 页 国防科技大学研究生院学位论文 行,否则事务就会回滚。具体工作例子如图: 源数据库目标数据库 ( 固i 生成过程i l l 生成过程 l 错误日志l 遗 复制表 r c i 错误日志i 复制表 内部触发器l 内部触发器 图2 2 同步复制原理图 对复制组中的本地复制对象执行操作时,内部触发器就将更改传播到其他站 点。一旦应用程序对本地数据进行改变,内部触发器就发送请求以在在远程的主 站点产生相应的过程。必须保证所有的分布事务的原子性。 图2 3 是一个同步复制的例子。当对源站点的一个复制表进行事务操作更新 了复制对象后,设置的触发器就同时在远端站点产生相应的操作。如果事务失败, 则回滚。 u p d a t ee r n ps e td e p t n o = 2 0 w h e r ee n a m e = t o m e m p n oe m p n 姐eo e p t n o - 1 0 0 t o m2 0 1 0 ik i m2 0 源目 e m p n oe m p n a m ed e p t n o 1 0 0t o m2 0 1 0 ik i m 2 0 图2 3 同步复制实例 第1 3 页 国防科技人学研究生院学位论文 在同步复制中,数据库对复制表修改时首先将本地数据加锁,然后将远程的 数据也加锁,直至事务完成,才释放锁,所以,必须防止死锁的发生,为了保证 事务的原子性,同步复制对于网络的要求和依赖比较强。 2 3 数据库复制的类型 数据复制的类型有多种,从各个复制站点对复制对象的管理以及数据更新的 方式来看,主要分为多主复制、实体化视图复制以及这两种复制的混合配置方式, 实体化视图复制是建立在多主复制的基础上的”。 2 3 1 多主复制 多主体复制( 也称为对等复制或多路复制) 允许多个站点对等管理各组复制 数据库对象。多主体复制环境中的每个站点都是主体站点,各个站点都与其它主 体站点进行通信。应用程序可以更新多主体配置中任何站点上的任何复制表。作 为主体站点在多主体环境中运作的数据库服务器自动汇集所有表的副本的数据, 并确保全局事务处理的一致性和数据的完整性。在多主复制中,有同步复制和异 步复制两种基本模式,异步复制是执行多主体复制时最常用的方法。其他方法有 同步复制和过程化复制。使用异步复制时,表的更新将存储在更改发生的主体站 点上延迟事务处理队列中。这些更改称为延迟事务处理。这些延迟事务处理定期 推入( 或传播至) 其他参与主体站点。可以控制链路调度时间问隔长短。使用异 步复制意味着可能发生数据冲突,因为同一行值在两个不同的主体站点上可能几 乎同时更新。不过,可以利用数据统一管理预先避免发生冲突。如果冲突发生, 需要有若干预建机制可以解决冲突。有关未解决的冲突信息将会存储在错误同志 中。对于冲突解决方法在2 4 节中论述。同步复制是保持数据库完全一致的方法。 一旦有一个主体站点数据发生改变,立刻传播至其它主体站点,很少发生数据冲 突,很好地保证了数据的实时性。同步复制的主要缺陷在于它需要快速、可靠的 局域网才能很好地工作。 在数据复制的过程中,复制站点必须能够唯一地标识各行,并找到不同站点 上相对应的行。通常,使用表的主关键字对表中的各行进行唯一标识。如果表中 没有主关键字,则必须指定代用关键字。这个代用关键字可以是一个列或一组列, 在数据复制的过程中,用它唯一标识表中的行。因为在数据库中数据对象都是由 特定的用户进行管理,在复制组中的复制对象也是隶属于某一个用户的,所以, 在进行复制时,在所有复制站点中必须有复制对象隶属的用户,如果没有,就必 须创建,然后复制对象才能复制到对应的用户中。 2 3 2 实体化视图复制 第1 4 页 国防科技大学研究生院学位论文 实体化视图是在一瞬间截取的目标主体的完整或部分副本。实体化视图具有 以下优点:启用本地访问,可降低响应时间并提高可用性。因为用户可以查询本 地实体化视图,故可从主体站点卸载查询。通过只复制目标主体数据集的所选子 集使用户只看到其有权访问的信息,可提高数据的安全性。实体化视图可以是只 读的、可更新的或可写的。除了以前列出的优点外,这些类型的实体化视图还具 有各自的优点,如下论述。 在基本配置中,实体化视图可以提供对源自主体站点的表数据的只读访问。 应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询服务协议书样本
- 解析卷-北师大版8年级数学上册期中试题及参考答案详解(B卷)
- 2025版电子信息设备融资租赁委托合同样本
- 2025年度国内高端柴油批发与物流配送合作合同
- 2025版城镇化改造土方工程劳务分包合同范本
- 2025版住宅小区改造工程委托施工合同
- 2025版企业间融资租赁借款合同汇编
- 2025年度智能停车场设备安装与租赁合同样本
- 2025年度城市公共交通系统采购框架合同
- 2025年度典当借款与艺术品市场风险管理服务协议
- 外研版(2024)八年级上册英语Unit 1 This is me 教案(共6课时)
- 2025年公安辅警笔试题目题库(答案+解析)
- 2025年外事办公室翻译招聘面试(俄语)预测题及答案
- 消保化解案例课件
- 2025年跨境电商物流服务佣金结算合作协议
- 房屋租赁合同交割清单列表
- 2025年公司主要负责人安全培训考试试题有完整答案
- 2025年度东营市专业技术人员继续教育公需科目试卷及答案
- 2025年公共卫生基本知识题库及答案
- 医院检验科微生物进修汇报
- 主播跟运营合作合同协议
评论
0/150
提交评论