(计算机应用技术专业论文)基于时间戳的数据同步技术实现研究.pdf_第1页
(计算机应用技术专业论文)基于时间戳的数据同步技术实现研究.pdf_第2页
(计算机应用技术专业论文)基于时间戳的数据同步技术实现研究.pdf_第3页
(计算机应用技术专业论文)基于时间戳的数据同步技术实现研究.pdf_第4页
(计算机应用技术专业论文)基于时间戳的数据同步技术实现研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)基于时间戳的数据同步技术实现研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着计算机和网络技术在各行业中的广泛应用,信息量不断增加,使得信 息和数据资料处理处于越来越重要的位置。由于分布式数据库具有地理位置的 分布性的特点,得到越来越广泛的使用。但是如何解决数据一致性的问题,高 效、安全地保持数据库之间数据同步,使各局部数据库既能独立地查阅本地的 数据,也能实现和全局数据库间的数据同步,是保证分布式数据库系统发挥作用 的关键。 本文首先首先对分布式数据库系统理论知识进行了分析,对数据复制的基 本原理和数据复制技术及常用的数据复制方法进行了详细的论述,并对当前主 流的数据库管理系统如o r a c l e ,m ss q ls e r v e r 等的数据工具和数据复制方法 进行了深入的研究和优缺点对比,针对在对等复制时产生数据冲突,造成数据 库数据不一致的情况,根据不同的应用,研究了各种冲突解决机制。再以某高 职学院“新生报名系统 为研究基础,提出了一种基于时间戳的数据复制方案, 并努力将上述方案应用到该系统上,以期测试该方案的有效性和可行性。 关键词:分布式数据库;数据复制;数据一致性;时间戳 a b s t r a c t a b s t r a c t t h ec o m p u t e ra n dn e t w o r kt e c h n o l o g yh a sb e e nw i d e l yu s e di na l m o s te v e r y f i e l dt h e s ey e a r s ,w h i c hm a k e 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 mp l a y i n ga m o r ea n dm o r ei m p o r t a n tr o l ei nd a t ap r o c e s s i n gb e c a u s eo fi t sb e i n gc h a r a c t e r i s t i co f ag e o g r a p h i c a ld i s t r i b u t i o n b u th o wt od e a lw i t hd a t ac o n s i s t e n c y , k e e pd a t a s y n c h r o n i z a t i o ne f f i c i e n t l ya n ds a f e l y , a n dm a k et h el o c a ld a t a b a s eb o t ha c c e s st ot h e l o c a ld a t aa n dm a i n t a i ns y n c h r o n i z a t i o na m o n gt h eg l o b a ld a t a b a s e si st h ek e yt o g u a r a n t e et h ev a l i d i t yo ft 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 i sa r t i c l ef i r s td e s c r i b e ds o m et h e o r e t i c a lk n o w l e d g eo 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 ,b a s i cp r i n c i p l e s o nd a t ar e p l i c a t i o na n dd a t ar e p l i c a t i o n t e c h n o l o g y ,a n dc o m m o nd a t ar e p l i c a t i o nm e t h o d s ,a n ds o m ep o p u l a rm a i n s t r e a m d a t a b a s em a n a g e m e n ts y s t e m ss u c ha so r a c l e ,m ss q ls e r v e ra n do t h e rd a t at o o l s a n dd a t ar e p l i c a t i o nm e t h o d s e c o n d l y , a c c o r d i n gt ot h ed i f f e r e n ta p p l i c a t i o n s ,t h i s a r t i c l eb r o u g h to u tt h ea d v a n t a g e sa n dd i s a d v a n t a g e so fd a t at o o l sa n dd a t ar e p l i c a t i o n t h r o u g hac o m p a r a t i v es t u d y , i n c l u d i n gs o m ec o n f l i c tr e s o l u t i o n s a n dt h i r d l y , i t p r o p o s e dad a t ar e p l i c a t i o ns t r a t e g yb a s e d - o nt i m e s t a m pt h r o u g ha ne x a m p l eo ft h e f r e s h m e nr e g i s t r a t i o ns y s t e mf o rav o c a t i o n a lc o l l e g ea n dp u t t i n gi ti n t op r a c t i c eo n t h es y s t e mt ot e s tt h ev a l i d i t ya n df e a s i b i l i t yo fi t 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 e ;d a t ar e p l i c a t i o n ;d a t ac o n s i s t e n c y ;t i m e s t a m p i i i 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :i 磅妒 签字日期: 伊7i f - ,月石日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌盔堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作:胪 翩虢噶l - - , 己听 签字日期: 口7 年偿月衫日 签字日期: 口夕1 年,- 月l 日 第一章绪论 1 1 引言 第一章绪论 信息量的不断增加使信息和数据资料处理处于越来越重要的位置,也成为 人们不断增加的繁重工作之一。近年来,分布式数据库在国内许多系统中的应 用越来越来广泛。如2 0 0 9 年7 月9 日,中国南方航空公司( 简称南航) 宣布建 成电子客票数据同城灾备数据复制系统以及数据仓库、地理信息系统、指挥控 制系统等等这些都是使用分布式数据库,而在分布式数据库系统中,数据复制 技术又有着举足轻重的重要现实意义。它可以实现分布在不同地域不同位置的 数据库系统中的数据时时同步更新,并且当系统的某一个或几个节点发生故障 时,可以通过数据复制技术选择离用户最近的数据副本进行操作,这样就不会 因为其中某个节点出现故障,造成整个系统的瘫痪,提升了灵活性的同时,降 低网络成本。数据复制技术有着投入少、支持网络断续连接、实施简单的优点, 数据复制采用的副本控制协议来更新数据时减少了数据的不一致性。本文的工 作对于研究分布式系统中数据的复制原理,具有很好的指导意义及参考价值。 1 2 研究的目的和内容 本论文的研究目的是通过大量阅读和学习相关参考资料对分布式数据库系 统理论知识进行了分析,其中包括分布式数据库系统特点、分布式数据库系统 优、缺点及分布式数据库系统体系结构和分布式数据库系统的模式结构等方面 进行了探讨。然后深入研究了数据复制的基本原理:分析了现在主流数据库厂商 的数据复制技术及优缺点对比,介绍了现在常用的数据复制方法等:将对等复制 时产生数据冲突,造成数据库数据不一致的情况,根据不同的应用,研究了各 种冲突解决机制。最后在此基础上结合传统的数据复制的基本原理和类型,以 某高职学院“新生报名系统”为研究基础,提出了一种基于时间戳的数据复制 方案,并努力将该方案应用到该系统上,以期测试该方案的有效性和可行性。 第一章绪论 1 3 论文的主要工作: 1 较全面地研究和分析了分布式数据库系统理论。 2 对现在各种复制技术进行深入了解,探讨目前主流数据库生产厂商提供 的系统的数据复制技术,并将现在主流数据库数据复制技术进行优缺点对比。 3 了解了在对等复制中什么情况下会出现数据冲突,并根据不同原因造成 的数据冲突的产生,研究相应的数据冲突解决方案。 4 针对某高职学院的报名需求设计“新生报名系统”,其中包括:1 ) 新生 报名系统的结构模式2 ) 业务流程设计、3 ) 功能模块设计、4 ) 新生报名系统的 数据库设计5 ) 基于时间戳复制技术提出数据一致性模型设计和数据复制算法设 计6 ) 最后提出新生报名系统安全性设计。 1 4 论文的内容组织 论文由五章组成: 第一章:介绍了课题的来源、研究目的、意义以及论文的主要工作和内容 组织等; 第二章:深入分析了分布式数据库系统理论知识和特点,并对当前主流生 产厂商中各数据库系统的优、缺点进行分析,然后对分布式数据库系统的系统 体系结构和模式结构等进行介绍; 第三章:研究了数据复制技术,并对数据复制基奉原理进行了分析,详细 介绍目前常用数据复制方法和主流数据库系统所采用的数据复制策略,数据复 制技术的多种变化捕获方式,以及如何解决数据复制产生的数据冲突等内容; 第四章:针对某高职学院的“新生报名系统”需求,设计了1 ) 新生报名系 统的结构模式、2 ) 业务流程设计、3 ) 功能模块设计、4 ) 新生报名系统的数据 库设计、5 ) 基于时间戳复制技术提出数据致性设计和数据复制算法设计,最 后提出新生报名系统安全性设计; 第五章:对论文进行总结与展望。 2 第一二章分布式数据车理论基础 第二章分布式数据库理论基础 2 1对分布式数据库系统理解 在以前的认识中,分布式数据库被解释成一个具有统一区域模式的分布数 据管理系统,提供对一系列同构、地理分布但逻辑上又相关的本地数据库的透 明访问,用通俗话说,用户可以把分布式数据库看成一个逻辑上集中的数据库。 它的特点概括起来主要有两点,就是集成性和透明性。正是因为过多地强调了 它的透明性和集成性从而忽略了数据库自治性和异构性的影响,因而得不到市 场的认可。出于以上这些,提出更广泛意义上的分布式数据库概念,就是一个 由一个或多个具有独立自治能力成员数据库组成的集合,其中每个数据库都提 供一些功能,用来实现与其它数据库进行数据交换和其它服务,通俗点说分布 式数据库系统,就是在不同的区域中的不同位置,而且逻辑上各数据库之间不 是一个逻辑整体,但是由统一的数据库管理系统进行管理,这个数据库管理系 统称为分布式数据库管理系统( 简称d d b m s ) 中的数据库系统。分布式数据库系 统通过现在广为通用的网络将地理位置分布但控制和管理又要集中的多个逻辑 单位连接起来,被计算机网络连结的每个逻辑单位,在分布式数据库系统中称 为站点或结点。每个结点如果仅仅只在本站点对本站点的数据库执行某些应用 称之为局部应用,而对于多个结点上的数据库在非_ :耷= 地站点执行某些应用则称 之为全局应用,分布式数据库系统就是支持全局应用的系统,也就是说用户在 任何站点执行的应用都是全局应用。 2 2 分布式数据库系统特点分析 它是现代社会发展中数据库系统发展的新类型,它囊括了以前集中式数据 库的特点,又因为它地理上的分布,逻辑上的集中而使它有了分布式数据库区 别于集中式数据库的的专有特点n 2 3 。 1 逻辑上的整体性:虽然分布式数据中数据物理上是分散的,但数据逻辑 上却是一个完整体,而且它们由一个分布式数据库管理系统统一管理,资源也 第二章分布式数据痒理论基础 可以被整个系统中的所有用户共用。这是分布式数据库和以往数据库的最大不 同。 2 集中性与独市性相结合:位于不同地理位置的数据库系统拥有独立地管 理局部数据库的功能,同时系统又兼有集中性的功能,用于使各局部数据库系 统的协调一致工作,达到全局管理功能。 3 事务管理的分布性:全局事务的执行相当于划分在多个站点上局部事务 的执行。 4 适当增加数据冗余度:为了提高分布式数据库系统的可用性及稳定性, 分布式系统采用冗余数据用于改善系统性能。 5 站点自治性:各站点上的数据由本地的数据库管理系统管理,完成本站 点的应用,这也是它与多处理机系统的不同之处。 6 物理分布性:它的数据是分散的存储在多个站点中的,而不是存储在一 个集中的站点上。 7 数据独立性:数据独立性在分布式数据库系统中包括三个方面的独市性, 即数据的物理、逻辑独立性以及数据分布的独立性。数据的物理与逻辑独立性 意思是说用户程序和数据在逻辑结构与数据的存储结构互不影响没有联系。数 据分布的独立性就是分布在各个区域的数据库在逻辑上看成一个数据库来进行 管理,不需要考虑数据的物理存储结构。 2 3 分布式数据库系统优点 分布式数据库系统利用现代网络技术的推广和普及与数据库技术相结合起 来。计算机网络有分散性的特点,就是通过通信子网将分布在各个区域的站点 连接起来,以达到共享各个站点数据与资源的目的。而数据库技术又有其集中 性的特点,它是逻辑上的将分布在各个区域的数据库看成一个数据库来进行管 理,用它来实现数据共享,这是集中性的表现。因此,分布式数据库系统是集 中与分散的结合,它具有以下优点n 2 , 1 良好的可用性及可靠性 因为分布式数据库系统由网络中的多个站点构成,出现故障机率可能略高 于集中式,组成结构也比集中式更复杂,但在运行过程中如出现个别站点或通 信链路的故障时,系统仍可继续工作。同时因为分布式数据库系统一般都是采 4 第二章分布式数据荦理论基础 取数据的多副本存放,所以只要有一个副本可用,就可进行访问,而且当某数 据的一个副本被破坏,也可利用这种多副本存放对被破坏的数据进行恢复。 2 适应组织的分布式管理和控制 分布式数据库系统的目标就是符合实际用户地域分散的组织结构,适应分 布式管理和控制。 3 提高效率,减少通信费用 在数据分布合理的情况下,可以采用相应方法将大多数访问变成本地访问, 这样即可以提高响应速度,增加效率,也可以减少通信费用。 4 系统站点具有较好的自治性 分布式数据库系统的特点之一就体现在各个站点都有独立的使用、管理以 及控制策略。 5 较好的可伸缩性和较大的灵活性 分布式数据库系统其典型性的特点是模块性。由于其模块化也同时表明它 有较好的仲缩性和灵活性,如它可以根据需要在系统中增加站点或减少站点, 而这种增加和减少对系统中的其他部分影响不大。 2 4 分布式数据库的分类 分布式数据库有很多种分类方法,不同的分类方法可分为多种类型。按照 节点数据库数据模型分类可以分为匀质的和非匀质的。匀质指的是每个节点数 据库采用都是相同的数据模型,非匀质指的是每个节点数据库采用的数据模型 都各不相同。按照节点数据库的数据库管理系统分类,可分为同构的和异构的。 同构指的是各节点在匀质系统中采用相同的数据库管理系统,反之则为异构的。 同构分布式数据库指的是所有站点使用共同的数据库管理系统软件,合作处理 用户的需求。异构分布式数据库指的是不同的站点有不同的模式和不同的数据 库管理软件,它们仅是在合作时提供相应的转换功能,彼此之间相互独立、互 不了解。可以推理出异构式系统相对于同构式系统,处理数据更加复杂,数据 库的相互处理也变得更加困难。异构式系统和同构式系统两者构造起来更加困 难,同时也会有更多问题,它不仅要解决与同构分布式系统相类似的技术问题, 而且也要解决由于数据模型与数据管理软件的不同,所造成的全局操作语言的 不同。异构分布式数据库系统有不同的数据库系统,例如s q l 与o r a c l e ,它们 5 第二章分布式数据库理论基础 拥有不同的操作接口和命令,采用不同的接口方式以及不同的命令集,所以说 要构造异构型分布式数据库系统是有很多困难的,其中操作语言之间的转换也 是要解决的关键问题之一,同时随着数据库类型数量的不断增加时,需要解决 这个问题就显得更加突出了h 川。 2 5 分布式数据库系统体系结构 分布式数据库系统是由两部分组成,即分布式数据库和分布式数据库管理 系统。它的体系结构如图2 1 所示。分布式数据库管理系统是由四个部分组成, 即局部d b m s 、全局d b m s 、全局通讯管理和数据字典。分布式数据库管理系统主 要负责对数据库进行管理和维护n 3 。 图2 1 分布式数据库系统体系结构 6 第二章分布式数据库理论基础 2 6 分布式数据库系统的模式结构 分布式数据库是依靠计算机网络连接的集中式数据库的逻辑集合,它除了 具有集中式数据库模式结构。的特点外,又因为它的分布性,使分布式数据库具 有更为复杂的结构。分布式数据库模式结构的示意图见下图2 2 ,该模式结构可 以有两部分组成,分为上部和下部:下部图形描述的是分布式数据库系统的基 本结构,即集中式数据库系统的模式结构:上部是分布式数据库系统增加的模式 级别,有以下几个组件2 3 1 : 1 g l o b a le x t e r n a ls c h e m a ( 全局外模式) 全局外模式也称全局视图,它是全局应用的用户视图。在分布式数据库中 的全局视图概念和集中式数据库视图是一样的,只是在分布式数据库中数据不 只局限在某一具体的局部数据库中抽取,而是从一个由各局部数据库组成的逻 辑集合中抽取,即全局外模式是全局概念模式的子集。 图2 2 分布式数据库系统的模式结构 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 ( 分片模式) 它用来描述全局数据的逻辑划分视图,它的每一个逻辑划分就是一个分片 或片段。它是全局数据逻辑结构根据某种条件的划分,即为局部的逻辑结构。 7 第二章分布式数据库理论基础 4 a l l o c a t i o n s 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 ( 局部概念模式) 局部概念模式采用局部d b m s 所使用的数据模型。该模式就是全局概念模式 应用在局部站点上的所有物理映像的集合。 6 l o c a li n t e r n a ls c h e m a ( 局部内模式) 它相似于集中式数据库的内模式,是分布式数据库中关于物理数据库的描 述。 从图2 2 模式结构中可以看出分布透明性包括三个层次,分别是n 4 1 : 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 ti 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 ( 局部数据模型透明性) 它是指数据模型的转换以及数据库语言的转换均由分配模式到各局部概念 模式之间的映像完成,因而用户或用户程序在使用时不需要知道局部场地上使 用的是哪种数据模型,而由分配模式到各局部概念模式之间的映像自己去完成。 8 第二章数据复制的理论基础 第三章数据复制的理论基础 3 1 数据复制概述 复制就是把一个系统中的数据通过计算机网络来实现存储在其他的一个或 者多个处于不同地理位置的不同的系统中。复制的功能在于让主服务器的工作 负荷减轻并且使数据的使用效率得到进一步的提高。在分布式数据中复制就是 将某个节点的数据完整的复制到不同位置的数据库中。数据中心采用数据复制 的方法,将分布在不同位置的一个或多个站点中建立中心数据库服务器的镜像, 也就是镜像站点中保存有中心数据库服务器的全部或者部分数据副本。镜像站 点和数据中心相互紧密联系,两者之间发现变化都是相互沟通的。每个镜像站 点通过数据链路的方式定时与中心数据库保持同步,达到的效果就是,如果每 个镜像站点对本地数据库信息进行事务操作,创建或修改本地数据对象,则在链 路调度后,镜像站点发生更改的信息要与中心站点保持同步,而且发生的改变 要通过中心站点反映到其他镜像站点。在分布式数据库内,通过复制技术可以 解决碰到的以下问题t 础: 1 、将数据分布到一个或多个站点上,也可向其它服务器发送数据更改,并 按照预定的计划分发给数据副本。 2 、多个用户如果对站点中的数据进行相应的修改,那么数据更改后再合并 在一起就会产生相应的冲突,此技术可以找出并解决冲突。 3 、在脱机环境和联机状态中,建立能够使用的数据应用程序,并且提供用 户相应的基于w e b 的数据查看应用程序。 而且它能将较重的工作负载分布到多个节点,其次因为它能够直接进行本 地的数据访问而不用每次通过网络来获取资源,所以它能较好的减少网络的负 载,这些都是利用数据复制的方法来实现分布式数据库中的优点。 当然,在实际应用中利用数据复制的方法来实现分布式数据库中数据复制 也有一些需要注意的地方,由于数据复制一般采用松散一致性的模型,特别是在 对等复制中,各个数据库服务器具有高度的本地自治性,可能会出现各个数据 库副本对相同的数据对象进行操作,当进行数据同步时,就会产生如更新冲突、 删除冲突等冲突现象。这些冲突使数据库数据的完整性受到严重威胁。所以为 9 第二章数据复制的理论基础 避免出现数据冲突的发生,我们必须要有预先设置的冲突解决方法。 3 2 主流数据库厂商数据复制技术 现如今数据复制技术已经成为各数据库应用保障数据安全一致、均衡数据 库负载的重要手段之一,目前主流的各大数据库厂商也高度重视,先后推出了 各自的数据库管理系统用于解决数据库复制如甲骨文公司的o r a c l e ,微软公司 的s q ls e r v e r ,s y b a s e 公司的s y b a s e ,i b m 公司的d b 2 ,现归于甲骨文公司的 m ys q l 等都在数据复制功能方面都添加更多的组建,以及更多的数据复制工具, 针对不同的应用也相应地提出并研究了各种不同的数据复制方法,并有了更强 大的技术支持。 本文就现有主流产品的数据库复制解决方案做一简单介绍和分析。 3 2 1o r a c le 复制技术 o r a c l er e p l i c a t i o n 是o r a c l e 数据库中专门的数据复制构件,它并不是独 立的服务器,而是通过调用o r a c l er e p l i c a t i o na p i 来实现,它是o r a c l es e r v e r 中的一项集成功能n 1 。 o r a c l e 复制的几个基本组件是:m a s t e rs i t e ( 主节点) 、s n a p s h o ts i t e ( 快 照节点) 、r e p l i c a t i o ns i t e ( 复制节点) 、r e p l i c a t i o ng r o u p ( 复制组) 、 r e p l i c a t i o no b j e c t ( 复制对象) 碓9 1 。 在o r a c l e 系统中,有两种数据库u 0 1 : 1 主数据库:具有自主数据表和相应支持对象的数据库服务器。主数据库 中的表为主表( m a s t e rt a b l e ) ,而存有主数据库的站点为主站点( m a s t e rs i t e ) 。 2 快照库( s n a p s h o td a t a b a s e ) :也称为从数据库( s l a v ed a t a b a s e ) ,数 据库没有自主数据表,与主数据库相联系的方法是采用了建市数据库连接与复 制组方式,它存放的是主数据库的一部分内容或者是全部数据的快照 ( s n a p s h o t ) 。快照库中的表为快照表( s n a p s h o tt a b l e ) ,存放有快照库的站点 称为快照站点( s n a p s h o ts i t e ) 或从站点( s l a v es i t e ) 。 使用不同的复制组的设置,能够实现将主数据库中的不同表存储到不同的 快照站点的快照库中的功能,也能够实现将主数据库中的同一个表的不同数据 1 0 第二章数据复制的理论基础 记录存储到不同快照站点的快照库中的功能。 基本复制和高级复制是o r a c l e 的两种复制方式陟1 1 、基本复制其实它就是可更新快照复制和多宿主站点复制,它是指在复制 环境中,快照表中的数据只能进行相应的查询而不能进行数据的更新操作,而 且它的数据是通过刷新操作从主数据库中获得。因为快照表是只读表,所以实 际上我们所说的只读快照复制是其实一种单向复制。 2 、高级复制实际上是一种双向复制,它允许对快照库中的数据进行查询和 更新操作,并且系统中的任意站点都允许对表中的数据进行读取和更新操作, 也可以对快照库中的数据进行相关操作,并将通过刷新操作反映到主数据库中。 下面是o r a c l e 支持的几种复制机制。“1 0 3 1 m u l t i m a s t e rr e p l i c a t i o n 多宿主复制机制:支持全表在各个主节点间 的对称复制,而且对网络的要求及其性能都要求比较高,因为它会将任何主节 点上的复制表更新通过网络直接应用到其它主表,同时它的更新操作不会因为 一个点的故障而影响整个的更新操作,且这种复制方式不会出更新方面的冲突。 2 m o d i f i e ds n a p s h o tr e p l i c a t i o n 可更新快照复制机制:在o r a c l e 9 i 版 本之后被称之为实体化视图复制,它是一种简单但效率较高的复制方案。它具 有数据间不会形成更新冲突,并保证更新过程中数据的完整性、一致性的优点, 在节点较少的情况下,此复制机制比较适合。 3 混合复制机制:顾名思义就是将前面的两种复制机制结合在一起,组合 成一种新的复制机制。此种复制机制能够实现对全表或子表的复制,而且它还 能实现当在运行中的中心节点出现故障时,能同时快速的将它定义到其中一个 运行中的中心节点上,体现出了它很高的系统可靠性和灵活性。 3 2 2 s o ls e r v e r 的复制技术出版物订阅方案 图3 1s q ls e r v e r 发布分发一订阅流程图 1 1 第二章数据复制的理论基础 s q ls e r v e r 的数据复制其实就是源数据所在的服务器是出版服务器,负责 发表数据。然后由出版服务器将要发表的数据的所有改变情况的拷贝复制到分 发服务器,并由分发数据库接收并保存这些改变,最后分发服务器再将这些改 变分发给订阅服务器,它采用“出版一订阅”模式,该模式主要由以下组件构 成( 如图3 1 ) :p u b l i s h e r ( 发布服务器) 、d i s t r i b u t o r ( 分发服务器) 、 s u b s c r i b e r ( 订阅服务器) 、d i s t r i b u t i o n ( 发布) 、a r t i c l e ( 项目) 、 s u b s c r i p t i o n ( 订阅) 。【1 2 t 1 3 1 s q ls e r v e r 提供了用于满足不同环境中应用需要的三种复制类型,如下所 示: 1 快照复制:它是完全按照数据和数据库对象出现时的状态对其进行复制 和分发的过程。快照复制因为对发布数据所做的更改并不是净变化地传播到 s u b s c r i b e r ,所以快照复制将数据变化传播到s u b s c r i b e r 的时间要更长一些, 因为快照复制一次复制整个数据集。复制快照发布的频率通常低于其它发布类 型。 快照复制提供的选项允许筛选己发布的数据,允许s u b s c r i b e r 修改复制的 数据并将更改传播到p u b l i s h e r ,然后传播到其它s u b s c r i b e r ,并允许在发布 时转换数据。 2 事务复制:就是把出版服务器上的事务作为增加的变化分布到 s u b s c r i b e r 中。在快照复制、事务复制和合并复制中,事务复制只是简单的把 己发生改变的内容复制过去,而不是像快照复制法进行全部复制,所以事务复 制,它有效的降低了事务一致性的延迟,但是如果要采用事务复制时,必须先 进行一次快照复制,以便同步出版服务器和订阅服务器,因为事务复制本身就 是建立在快照复制基础上的另一种非完全独立的复制。复制速度快、复制费用 低。所以当复制的数据量较大时,应该优先考虑选事务复制,在事务复制中, 要复制的表必须有主键,无主键的表是不能复制的。事务复制过程如下:首先, 必须使出版服务器和订阅服务器同步,同步的方法就是使用一次快照复制:其 次,检测出版数据库的事务日志中是否有变化的数据,如有变化的数据则将这 些变化的数据临时存储在分发服务器数据库中,最后,由分布代理负责把在分 发数据库中的数据应用到多个订阅服务器中。 3 合并复制:首先它允许用户修改s u b s c r i b e r 中的订阅数据,它还能捕获 到订阅数据库中数据的变化,还可以定期的将捕获到的变化进行合并,并将最 1 2 第二章数据复制的理论基础 新的合并结果提交给所有订阅者,如果在合并过程中出现数据的修改冲突时, 合并代理程序将根据订阅者在建寺订阅时所设置的优先级来决定修改的有效 性。 s q ls e r v e r 复制部件采用模块化设计,各种复制操作通过不同的复制代理 实现,主要复制代理有快照代理、日志阅读代理、分发代理、合并代理。 s q ls e r v e r 采用“松散一致”复制模式,它们之间是有个延时的所以它 的源数据与拷贝数据之间并不是在任何时刻都保持完全一致的。所以当源数据 库发生变化时,并不能立刻反应到订阅数据库中,而是把这些产生变化的事务 写入到d i s t r i b u t i o nd a t a b a s e ( 一个专门的分发数据库中) 并且只有当这些 事务累计到给定的设定值时,才能由事务分发器把事务送到订阅服务器中。然 后再由订阅服务器执行这些事务,以此保持源数据与拷贝数据的一致性。 3 2 3s y b a s e 复制技术 s y b a s e 的复制方案采用单独的日志传输管理进程来实现。它的作用是监视 并捕获与它相连数据库的事务,并且当日志传输管理的进程发现源数据有发生 变化时,本地的复制服务器会将这些变化传送给复制服务器。复制服务器接收 到源数据发生的变化后,由复制服务器将事务传送给其它复制点,当其它节点 上的复制服务器接收到后,执行同步操作,则复制完成。其复制模式有:,1 5 1 1 分布式主段:即每个服务器都有权修改数据,并将其的修改应用到其他 站点,且接收其他站点的修改。 2 基本主复制模式:复制数据的方法是从一个主数据库将更新分发到一个 或若干个子数据库。为保证所有数据表的一致,只有主数据库中的表可以更改, 其他表都是只读的复制表。 3 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 模式:该模式是将分布在不同区域的 子站中的主段全部集中到了中心站中的合并表里,在中心站点中会有一处复制 代理将己合并了子站主段信息当成源数据转发到复制服务器,并由这个复制服 务器来分发给预订方。 4 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 复制 服务器提供复制定义语言( r c l ) ,可以定制复制功能、监控和维护复制系统。 3 2 4d b 2 复制技术 d b 2 数据复制的组件由三部分组成:管理界面、更改捕捉机制、应用程序。 d b 2 的复制方式是每个站点的权限都是一样的,复制实现包括两部 分:c a p t u r e ( 捕获) 和a p p l y ( 应用) n 6 | 。 1 c a p t u r e 进程就是通过监控事务日志来获取复制源表的变化,并将表的更 改记录放至登记表中。 2 a p p l y 程序就是定期读取登记表,然后通过登记表所反映出来的更改转移 到预订目标。 c a p t u r e 程序由用户或a p p l y 程序在信号( s i g n a l ) 表中存放的信号来控制。 这个信号表与c a p t u r e 程序通讯的方式是通过日志记录实现的。这个信号表是 c a p t u r e 程序与a p p l y 程序沟通的桥梁,它具有可以使a p p l y 程序通知c a p t u r e 程序何时捕捉数据,也可以精确地结束日志记录读取的功能,用户还可以通过 日志记录来定义信号。 3 2 5m ys o l 复制技术 m ys q l 数据库通过在主服务器上跟踪二进制日志,然后将变化的部分发送 到子服务器,并读取子服务器中的日志并将得到的信息在数据副本上执行相应 的操作来实现数据复制。m ys q l 支持一主多从的数据库的复制模式n 7 1 。 3 2 6 其他复制技术 随着对数据复制的广泛应用,除前面提到的主流数据库厂商提出了相应的 复制组件和复制软件外,也有些人通过第三方程序,提出了一些解决方案和框 架。如基于消息的中间件技术。 1 4 第二章数据复制的理论基础 基于消息的中间件技术复制方案是:明 ( 1 ) 首先在原始表中增加一个字段作为触发器启动的作用,如果触发器启 动,即数据发生变化,触发器就会将变化写入变动表( 用于放置变动的数据的 变动表) 。 ( 2 ) d a e m o n 周期性轮询数据库( 设在应用程序数据库服务器端) 变动表,将 变化数据封装为x m l 格式的消息。 ( 3 ) 封装的x m l 格式的消息是用于到j m s 消息服务器。j m s 针对不同的数据 库表设立不同的主题用于对应不同的消息。d a e m o n 则将对应的消息发送到相对 应主题的消息服务器,传递消息的可靠性则由消息系统的基础设施负责。确定 传递完毕后,d a e m o n 就删除数据库变动表中相应的记录。j m s 消息服务器为了 确保消息重启也不会丢失,j m s 采用p e r s i s t e n t 消息,所有的消息均存储在磁 盘中。 ( 4 ) e j b 容器中包含了一系列m e s s a g e d r i v e n b e a n ,根据不同的 m e s s a g e d r i v e n b e a n ,分别订阅不同的主题。 ( 5 ) 当根据m e s s a g e d r i v e n b e a n 订阅的消息到达之后,则相应的 m e s s a g e d r i v e n b e a n 也同时被激活,处理该消息。处理完成此消息后,然后将消 息从j m s 相应的主题队列中删除,这样就完成了一次数据的全部复制过程。 3 2 7 数据复制技术优缺点对比 o r a c l e 支持多种复制方式,其中高级复制方式可以满足双向、异步的复制 要求。其缺点在于:因为o r a c l e 是采用定时复制,因此它允许复制端出现短时 间的网络无法使用,虽然它支持网络短时间的不可用,但它对网络的要求和其 它厂商的复制技术相比还是要高一些的,而且它的复制数据量比较大。虽然 o r a c l e 支持异构数据库复制,但不支持同构数据库间的数据复制。 在s y b a s e 复制方案,因为复制服务器可以在与主数据源不同的机器上,所 以复制系统不会增加对主数据库中的压力,用户还可以较好的控制复制粒度到 行和列,而且它支持多种复制方式。它的不足在于,需要单独安装复制服务器 增加成本,它的立即复制技术使网络流量大。 m ss q ls e r v e r 复制方案的优点在于它的它采用“出版一订阅”的复制模式 第三章数据复制的理论基础 在前面提到的现流行生产厂商的复制模式中是最全面的,用户应用也更灵活。 当然它也是有缺点的:如果数据库是异构复制,分发器这个角色则必须由s o l s e r v e r 服务器担任。 m ys o l 复制方法的优点是:简单,效率高。缺点是:不支持异构复制。因为 它是即时复制所以只能实现数据库级复制,对网络也有定的要求,并且它没 有冲突处理机制。 中间件技术复制的优点在于,它具有较好的灵活性,并且支持数据重构的, 异构数据库间的数据复制,缺点在于它的数据捕获方式,增加了主数据库和d b a 的负担,而且因为它需要应用服务器,成本较高。 1 6 第三章数据复制的理论基础 3 3 基于变化捕获方法的数据复制方法 数据复制按照其变化捕获的方法不同,较常用的有以下几种:基于日志法、 基于触发器法、基于时间戳法、基于影子表法、控制表变化法等,下面针对几 种基于不同的捕获方法进行简介并分析其优、缺点1 9 她2 “2 驯。 3 3 1基于日志法 基于日志法( 如图3 2 ) 数据库事务日志包含了全部成功提交的数据库操作 记录信息,它是作为维护数据完整性和数据库恢复的重要工具。基于日志法就 是通过分析数据库事务日志来捕获复制对象的变化序列。对于绝大多数数据库 来说,都有自己的日志来记录对于自己的操作,基于这一点,采用日志法实现 就比较方便,通过这些记录也可以在其它数据库中实现,而且日志相对于数据 库中的数据来讲,其存储所占的容量极小,这样就基本不占用其运算。利用日 志,在其它节点很容易再现复制对象的变化序列,在提高效率和保证数据完整 性的同时,还能给复制提供相关的详细控制操作信息,这些都是它的优点而它 的不足在于,事务日志的私密性,使它必需依靠数据库日志分析工具或接口来 解决,造成了各种数据库日志格式不一致的情况,这给数据库间的异构数据库 复制带来困难,而且如果异构数据库的日志格式两者转换很困难,那就说明此 种方法无法实现。 3 3 2 基于触发器法 图3 2 基于日志法的捕获 1 7 第三章数据复制的理论基础 基于触发器法( 如图3 3 ) 可用于同步复制、增量复制,它的捕获方法为, 首先在主数据表中建立一触发器,触发器的作用是,只要对主数据表成功执行 了事物操作,则触发器自动被触发,然后由中间程序将变化变更至其它子数据 表中,通过这种方法来保证数据的一致性。可想而知这种方案占用的系统资源 较多,系统随时都可能要进行较大的数据处理,影响系统运行效率,并且这些 数据传输都要使用到通信网络,因此这种基于触发器法对网络的要求很高,如 果网络出现故障中断,则系统就无法通过通信网络保持任何时间数据一致,而 且它对于对等复制和异构复制都较难实现。因而这种方法较适宜于小型数据库 应用,不适用于企业级数据复制。 i 枷瞄暖绩一哦绩= 7 5 髓撇学号:“2 0 0 9 0 0 8 0 0 1 。譬麟 图3 3 基】。触发器的捕获 3 3 3 基于事务法 基于事务法方法,事务法的复制对象的变化序列,是通过分析数据库事务 队列表的信息来捕获的,在同步复制过程中,当主表复制对象发生变化时,相 应的复制代理程序就会将当前进行的事务序列,时时传送到目的数据库,目的 数据库在接收到该事务序列后在本地数据库中执行。基于事务法的优点在于, 系统占用少,使用方便,适用性广,在进行对等复制时还能详细的提供相关的 1 8 第二章数据复制的理论基础 控制信息

温馨提示

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

最新文档

评论

0/150

提交评论