(计算机软件与理论专业论文)数据复制的研究及其在openbase中的实现.pdf_第1页
(计算机软件与理论专业论文)数据复制的研究及其在openbase中的实现.pdf_第2页
(计算机软件与理论专业论文)数据复制的研究及其在openbase中的实现.pdf_第3页
(计算机软件与理论专业论文)数据复制的研究及其在openbase中的实现.pdf_第4页
(计算机软件与理论专业论文)数据复制的研究及其在openbase中的实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机软件与理论专业论文)数据复制的研究及其在openbase中的实现.pdf.pdf 免费下载

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

文档简介

东北大学硕士学位论文摘要 数据复制的研究及其在o p e n b a s e 中的实现 摘要 随着经济体制改革的不断深化和信息技术的飞速发展,越来越移的企业、公司 浠要跨施区、跨省,甚至跨国经营。企娩信怠采源予企整数据,数据是企盈信怠 系统的核心。信息的分布式处理魁企业分布式经营的直接后果。但是,分布式处 理中数据的一致性和安全性问题变得更为复杂,更为重要。如果分布处理的信怠 不能共事,则餐理铸息系绞最终戏为一个个“继息弧骚”。嬲班,企业豹数据集戏 将成为信息系统开发的一个重要研究内容。 在实际应用中,除了少量关键性的数据( 我们称之为临界资源) 之外,其余大髓 懿菲关键蛙数撂,葜嚣本只要缝簿透 娃爨、基本地一致,系绞即可正鬻运雩亍,瓣 数据库副本间的数据更新则等待稍候异步地进行,必然能减少拥塞,提高系统可 耀性,降低运行成本。论文所实联静复翻功能精于多个骚务器上静数据对一致牲 要求不是特别严密的情况,复制提供松驰一致性【7 1 ,在改变原始数据和更新复制版 本之间有一个时间滞后。在企业信息系统中,采用复制则更为经济也更为适用。 论文在对数据笺铡理论研究鑫每基确上,设计实聪了o p e n b a s e 【| 4 数耩复锱系 统。论文详细介绍了课题的背景、国内外研究现状以及课题的提出及其研究意义; 进一步介绍了数据簸制技术的基本概念、原理及技术;论文重点描述了数据簸制 袭o p e n b a s e 数搬库系统中款设计与实现,并设计了数撵复制功戆模块性能测试 的实验,提出了“基于事务带有冲突检测与解决功能”的数据复制方法;最后对 本论文避霞了总结劳对鼗稳复鞠在o p e n b a s e 数据薄系统中貔应耀藩景进行了潮 述。 美犍词:敬摄复割、数据同步、冲突检测鄹冲突解决 - i i 东北大学硕士学位论丈a b s l 、r a c t t h er e s e a r c ha n d i m p l e m e n t a t i o n o fd a t a r e p l i c a t i o n i no p e n b a s e a bs t r a c t w i t ht h ei n n o v a t i o no ft h ee c o n o m i c s y s t e md e e p e n i n ga n dt h e i n f o r m a t i o n t e c h n i q u ed e v e l o p i n g ,m o l ea n dm o r ee n t e r p r i s e sa n dc o m p a n i e sn e e dm a n a g ea f f a i r s b ym e a n so fm u l t i a r e a , m u l t i p r o v i n c e ,m u l t i n a t i o n a l t h eo r i g i n a l i n f o r m a t i o no f e n t e r p r i s e si st h ed a t ao fe n t e r p r i s e sa n dt h ed a t ai st h ec o r eo fe m e r p r i s ei n f o r m a t i o n s y s t e m d i s t r i b u t e dp r o c e s s i o no f t h ei n f o r m a t i o ni st h ed i r e c tr e s u l to ft h ed i s t r i b u t e d m a n a g e m e n to fe n t e r p r i s e h o w e v e r , t h ec o n s i s t e n c ya n dt h es e c u r i t yo fd a t ai nt h e c o u r s eo ft h ed i s t r i b u t e d p r o c e s s b e c o m em o r e c o m p l e x a n d i m p o r t a n t i ft h e i n f o r m a t i o no fd i s t r i b u t e dp r o c e s s i o nd o s en o ts h a r e ,i n f o r m a t i o nm a n a g e m e n t s y s t e m s b e c o m ea i n f o r m a t i o n i s l a n d ”t h e r e f o r e ,t h ed a t ai n t e g r a t i o n o ft h e e n t e r p r i s e b e c o m e sa n i m p o r t a n t r e s e a r c hf i e l do fi n f o r m a t i o ns y s t e m e x p l o i t a t i o n i np r a c t i c e ,o n l yf e wk e yd a t a ( c a l l e dc r i t i c a l r e s o u r c e ) n e e d e dt o b ee n s u r e d c o n s i s t e n tw i t ha l lc o p i e sa l lt h et i m e t h eo t h e r sm a y k e e pc o n s i s t e n ta p p r o x i m a t e l y a n db a s i c l y t h u s ,t h ec o n s i s t e n tb e t w e e na l l c o p i e so ft h e mw i l lh a p p e nl a t e ra f t e r u p d a t ea s y n c h r o n o u s l y i nt h i sw a y , t h ec o s ta n dn e tc o n g e s t i o nw i l lb er e d u c e d ,w h i l e s y s t e mu s a b i l i t yw i l lb ei m p r o v e d 。d a t ar e p l i c a t i o nc a n b eu s e di nt h ec i r c u m s t a n c et h a t t h ec o n s i s t e n c yd a t ao fm u l t i s e r v e r si sn o tr i g o r i ta f f o r d sl o o s e n e s sc o n s i s t e n c y t ”i t h a sat i m ed e l a yb e f o r et h eo r i g i n a ld a t ac h a n g i n ga n dc o p ye d i t i o nu p d a t i n g ,d a t a r e p l i c a t i o ni sm o r e e c o n o m i ca n d a p p l i c a b l ei nt h ee n t e r p r i s ei n f o r m a t i o ns y s t e m , t h i sd i s s e r t a t i o ns u m su pt h ew o r ko ft h er e s e a r c ha n di m p l e m e n t a t i o no ft h ed a t a r e p l i c a t i o nt e c h n i q u e b yt h el e s e a r c ho fd a t ar e p l i c a t i o nt h e o r y , t h ed e s i g n e dd a t a r e p l i c a t i o ns y s t e m i n o p e n b a s e 1 4 】i sp u tf o r w a r da n di m p l e m e n t e d f i r s t l y t h e d i s s e r t a t i o ni n t r o d u c e st h eb a c k g r o u n do ft h ed a t ar e p l i c a t i o n ,r e s e a r c ha c t u a l i t yi nt h e c o u n t r ya n dt h e o t h e rc o u n t r i e s ,t h et h e m em a di t sr e s e a r c h m e a n i n gi se x p l a i n e d s e c o n d l y , t h eb a s i cc o n c e p t i o n ,p r i n c i p l ea n dr e l a t e dt e c h n i q u e so f t h ed a t ar e p l i c a t i o n n i 东北大学硕士学位论天 a b s i r a c t i ss e tf o r t h t h er e s to ft h ep a p e re m p h a s i z e so nt h ed e s i g n a t i o na n di m p l e m e n t a t i o ni n t h eo p e n b a s ed b m s t h en e x tp a r to ft h ed i s s e r t a t i o nf o c u s e so nt h ed e s i g n e dt h e e x p e r i m e n tt o t e s tt h ee f f e c t i v i t ya n dt h ec a p a b i l i t yo ft h ed a t ar e p l i c a t i o nf u n c t i o n m o d u l e ,a n dp u tf o r w o r dt h em e t h o dt h a t i su s e dt o r e p l i c a t e d a t ab a s e do nt h e t r a n s a c t i o nw i t ht h ec o l l i s i o nd e t e c t i o na n ds o l u t i o n t h el a s tp a r to ft h ed i s s e r t a t i o ni s t h e s u m - u p a n dt h e a p p l i c a t i o nf o m g r o t m d o ft h ed a t a r e p l i c a t i o na p p l i c a t i o n 诹 o p e n b a s e d b m s k e y w o r d s :d a t ar e p l i c a t i o n 、d a t as y n c h r o n i z a t i o n 、c o n f l i c td e t e c ta n dc o n f l i c t r e s o l v e v , 声明 本人声明辑呈交的学位论文是在导翡款擐导下完成豹。逾文中取缮瓣研究戏 莱除鞠瑷标注稻蘩鬻抟建方舞,不雹含箕佳人已经发表或撰写过豹繇究残采,也 不包括本人为获得其他学像而使确过的材料。与我一阀工作的同志对本研究所做 的任何赏献均己在论文中作了明确的说明并表示了谢意。 本人签名: 立游 日期: 二船数i 。9 东北太学硕士学位论文第一章绪论 第一章绪论帚一旱珀t 匕 1 1 引言 数据库系统是计算机软件的一个重要分支。回顾数据库系统发展的历史,不难 看出其发展的两个趋势:一个是由小型化向大型化发展;另一个是由集中式向分 布式发展。地域的分布以及计算机系统体系结构的分布化必然导致数据库系统的 分布化”1 。 在一个分布式的数据库系统中往往需要维护同一个数据库的多个副本,那么如 何有效维护多副本之间数据一致性的问题就摆到了我们的面前。 也许我们首先会想到经典的两阶段提交算法【1 6 1 ( 2 一p h a s ec o m m i t ,简称2 e c ) , 2 p c 能够保持多副本间数据严格一致,但其开发期间工作量较大,运行期间要求 副本间保持可靠的通信链路,运行中的通信成本不容忽视。另外2 p c 需要同步修 改数据库的全部副本,当网络故障或某个副本机器故障发生时2 p c 即不能顺利进 行,势必形成阻塞降低系统的可用性。 其实在实际应用中,除了少量关键性的数据( 我们称之为临界资源【”1 ) z 步b ,其 余大量的非关键性数据,其副本只要维持近似的、基本地一致,系统即可正常运 行,而数据库副本间的数据更新则等待稍候异步地进行,必然能减少拥塞,提高 系统可用性,降低运行成本。 维持多副本间数据近似一致的方法有很多,一种直观的方法是利用邮件系统将 最新副本拷贝给其余副本,这种方法需要额外的软件支持或人工干预。本文旨在 介绍o p e n b a s e 中内霞的数据复制构件,利用此构件用户可将精力集中于更新本 地副本,而更新其余副本的工作则交给数据库系统去完成。这种方法既可靠又简 便,不需要额外开销。 1 2 课题背景 1 2 1分布式系统的发展 随着信息在社会活动中重要性的提高,数据库的应用范围的扩展,对数据处理 的要求也越来越高。集中式的数据库系统已经很难满足各种应用的需求。随着网 一1 一 东北大学硕士学位论天第一章绪论 络技术的发展和广泛应用,分布式处理系统也得到了很大的发展,分布式环境下 数据的管理也成为数据库研究的重点 u5 】。 分稚式系统是数据库技术与计算机网络技术相结合的产物,即网络中的每个结 点都是一个独立的数据库系统,同时它们在逻辑上又是相互协作的一个整体。 集中式数据库把大量的数据集中存放在一个中心数据库里,不仅需要很大的存 储空间,而且也不易及时响应大量用户的请求,以至造成处理的延迟,而且系统 开销也比较大;分布式数据管理1 2 9 是在集中式数据库的基础上发展起来的,但绝 对不是把集中式数掘库简单的进行分布设置,而是能更加适应应用需求的具有自 己特点的系统。建立分布式数据库系统的原因包括数据共享、自治性、可用性等。 通过使用数据复制功能,用户可以产生数据的拷贝,移动这些数据拷贝到任何其 它的地方,并同步数据,使分布式环境下的多个数据拷贝保持数据一致性【3 】。 _ 集中式数据库:企业的所有数据存放在一个公共数据库中,所有应用共享 一个集中的、完善的数据库。 分布式数据库:有多个不同的物理位置的数据库组成,系统通过网络连接。 分布式数据库系统在系统结构上的真正含义是指物理上分布,数据在物理 上分布于计算机网络的不同场点而逻辑上是属于同一个系统。数据由系统 统一管理,用户看到的似乎是一个全局数据模式的集中式数据库。数据库 实际位置对用户和应用是透明的,但是,管理系统在分布式查询处理、分 稚式交易管理等技术实现上有很大的难度。 对数据是采取集中式数据库并进行远程数据存取,还是选择分布数据库并进行 抽取和复制,主要考虑下列因素: - 是数据复制还是远程存取工作量大 主机是否超过负荷 一是否有充分的时间允许进行数据复制 是否经常进行随机查询主机数据库 1 2 2 o p e n b a s e 的应用和发展 随着信息化时代的到来,国内各企事业单位、政府机关面临各类大量复杂的信 息管理问题,建立信息管理系统都离不开数据库管理系统,国内大量用户需要既 能满足c l i e n t s e r v e r 计算环境的需要,又能承担其费用的数据库系统产品。国产 数据库管理系统o p e n b a s e 正是这种产品,它适用于c l i e n t s e r v e r 计算环境,关 2 一 东北大学硕士学位论文第一章绪论 键技术达到了一定水平,完全具备国内绝大多数用户所要求的功能和性能指标, 其价格仅为国外主流数据库产品的三分之一,是可以代替进口数据库软件的具有 中国版权的产晶。 o p e n b a s e 足我国第一个具有自主知识产权的商品化数据库管理系统产品。它 的成功面世,宣告国产数据库系统软件已经走出了艰难漫长的产品化历程,进入 了产业化发展的道路。o p e n b a s e 目前已经广泛应用在电力、电信、政府、机关、 房地产、设计院、证卷交易、造船业、核工业、化纤业、机械行业、冶金、汽车 制造、交通等各个行业的领域中。随着计算机网络通信技术的发展,以及应用领 域的拓宽和深入,实现分布式环境对数据管理成为o p e n b a s e 发展的一个迫切课 题2 5 ,2 6 ,2 ”。 1 3 国内外研究情况 数据同步与复制是实现传统分布式系统的关键技术之一,数据复制( d a t a r e p l i c a t i o n ) 的主要目的是提高分布式数据库系统的可用性、可靠性以及访问性能 6 1 。 近年来,大量实际应用的驱动,无线通信技术的发展及计算能力只益增强的 手持设备的出现,使得移动计算【2 ,4 印】己经成为今天的热点。移动计算环境可视为 动态分布式计算环境,移动计算部件与主站之间的连接是动态变化的,它们之划 的数据交换与处理成为移动计算的核心问题之一,而数据同步与复制技术正是解 决此问题的有力武器,应用于传统分布式系统的数据同步与复制技术在移动计算 领域得到了全新的应用。s y b a s e 的i a n y w h e r e s t u d i o 作为代表性的移动计算解决 方案,2 0 0 0 年创造了超过6 0 0 万套的骄人业绩,它包括小数据库u l t r l i t e 、数据同 步服务器m o b i l i n k 、桌面数据库a d a p t i v ea n y w h e r e 以及m o b i l em a n a g e r 等。p u m a 公司推出的i n t e l l i s y n ca n y w h e r ef o rd o m i n o 能够支持基于3 c o m 公司的p a l mo s 操作系统的手持设备,并为它们提供全面的电子邮件同步功能。i n t e l l i s y u c a n y w h e r e 提供基于w e b 的管理工具用于增加和配置用户、监视i n t e l l i s y n c s e r v e r 的运行状态、对i n t e l l i s y n c 系统上的事件进行日志记录,可支持多达1 0 0 个并行设 备连接。其他的移动计算解决的方案提供商还有o r a c l e 、i b m 等,它们产品的体 系结构都类似于s y b a s e ,依靠着他们大型数据库产品进行移动计算解决方案的推 广。国内东软集团和人大金仓都在2 0 0 0 年相继推出了自己的嵌入式数据库系统, 基本能够满足用户的移动计算的要求,但在性能和功能上较之国外产品仍存在一 定差距,目前不能够支持实际生产需求中大规模并发连接要求,而且对原有系统 数据的支持能力仍显不足。目前国内对移动计算的存在着巨大的市场需求,可是 3 东北大学硕士学位论文第一章绪论 国外相应的解决方案价格高昂,且实施这些移动计算方案对原有系统的利用也成 为问题。其实从小数据库以及数据库同步服务器就基本能够满足大多数移动计算 的应用需求,通过支持各种大型后台数据库的同步服务器就能够在保证原有数据 库系统投资的情况下支持移动计算。 同时,数据同步与复制技术也是提高系统可靠性,建立高可用容灾系统的关 键技术之一。这一市场近年来持稳定增长的态势,企业纷纷建立高可用容灾系统 以降低关键业务运行风险,最大限度的保护业务数据的实时性、完整性和一致性, 增强数据可用性和业务灵活性,进而增强企业的核心竞争力。数据同步与复制技 术将关键信息( 数据和环境) 安全、一致、实时地存放到备用节点。传统的方式 采用磁带传送分发数据。如今,企业运作建立在电子商务的基础上,对数据立即 存取的要求越来越高,取而代之的是在线数据复制技术。目前数据复制有两种基 本策略:基于主机的数据复制和基于存储设备的数据复制。前者主要以软件的形 式进行。如各数据库厂商目前在数据库软件中都提供数据分发复制的功能,把数 据定期地、在线地复制到目标机器上。它的优点是与应用( 尤其数据库应用) 结 合较紧,在数据一致性、完整性上保持较好,与数据库的同志文件基本一致。而 且,采用软件数据复制方式具有配置灵活、价格低、性能高等特征。其缺点是主 机上资源和复制的压力较大。基于存储设备的数据复制即智能存储系统的远程镜 像,属于企业级存储系统功能,这种数据复制在存储系统内部实现,与主机无关。 它通过硬件实现复制,复制效果能得到充分保证。目前在实际中、低端或成本预 算较紧应用中,若主机资源不是系统瓶颈时,通常采用软件数据复制。 在基于数据复制的容灾系统领域,国内外许多厂商均推出了各自的解决方案。 目前绝大部分容灾方案都基于s a n 构架,它采用光纤通道技术,可以提供长距离 的数掘传输,尤其适合于异地容灾。较为代表的康柏异地容灾系统以存储区域网 络( s a n ) 为基础,以数据复制管理器、光纤通道企业存储系统为组件,光纤通道为 传输手段,在数十公里到数千公里范围内可以建立一个具有完整数据同步性的容 灾解决方案。惠普灾难恢复解决方案由主数据中心和备份数据中心组成,它们之 间常通过高速光纤网相连接。主数据中心包括多台h p u n i x 服务器及其它相关服 务器,通过m c s e r v i c e g u a r d 软件组成多机高可靠性环境,数据存储存储磁盘阵列 x p 4 8 或x p 5 1 2 中,异地备份数据中心配置相同结构的存储磁盘阵列x p 4 8 x p 5 1 2 和一台或多台备份服务器。i b m 则采用n a s ,l t o 技术及n s is o f t w a r ed o u b l e t a k e 数据同步方案,提供基于n a s 存储平台的数据同步解决方案,以保证系统的高可 用性。 4 东北大学硕士学位论又第一章绪论 在数据库系统高可用性领域,国外主流数据库厂商如o r a c l e 、s y b a s e 等纷纷推 出了各自的解决方案。o r a c l e 在其o r a c l e8 i t l l , 2 h 中提供了备用数据库( s t a n d b v d a t a b a s e ) ,并行数据库o p s ,在其o r a c l e9 i 利用集群技术中提供了r a c ( 真正应用 集群) ,s y b a s e 的相应产品包括s y b a s er e p l i c a t i o ns e r v e r 和s y b a s es q l r e m o t e 。 这些解决方案价格很高,配置比较繁琐,对于国内普通用户应用有相当的难度。 而o r ,e n b a s e 多模式数据同步与复制e 是瞄准国内用户的基本需求量身定做的高 性价比产品。 1 4 课题的提出及其研究意义 我国现在正在大力发展以电子政务和企业信息化等为代表的信息化建设,随着 我国电子政务和企业信息化建设的发展,政府机关和大型企业固有的地域上的分 布特性决定了其信息化设施的分布性,尤其在我国目前主干网络质量不高的情况 下,建设站点自治的分布式系统就将成为一条可行的选择,国产数据库要很好的 应用于电子政务和企业信息化就需要具有数据复制的功能。 国产数据库进入政府和企业的核一i i , 业务是国产数据库发展道路上必须经过的 一个阶段,采用数据复制技术的双机备份【2 8 1 是具有好的性能价格比的提高数据庠 的稳定性和可靠性的策略。 作为快速发展的市场领域,移动计算正以极快的速度发展,而移动数据库口” 是分布式数据库在移动领域的一种发展,移动数据库系统必须双向数据同步的支 持爿能得以真正发挥其潜力。 因此,数据同步和数据复制技术有广阔而现实的市场需求,研究开发数据同步 和数据复制技术是极具意义的。 1 5 论文组织 本人的研究: 作主要分为以下几个阶段: ( 1 ) 学习数据复制与同步的相关知识; ( 2 ) 熟悉o p e n b a s e 数据库系统与开发环境,研究在o p e n b a s e 数据库中 实现数据复制与同步的方案: ( 3 ) 设计实现n s q t r l o g : ( 4 ) 设计实现n s q l r e p 。 本文依据参与的研究工作首先介绍了课题背景、国内外情况、课题的提出及其 5 东北大学硕士学位论丈第一章绪论 研究意义; 然后,详细介绍了数据复制的原理和技术: 其次,结合数据复制的基本原理阐述了对o p e n b a s e 数据库系统数据复制功 能的研究; 接_ f 来,具体介绍组成数据复制的各功能模块; 然后,比较详细的描述了针对数据复制功能模块的性能测试设计的实验; 最后,工作总结和展望。 6 东北大学硕士学位论丈第二章数据复制基本原理及技术 第二章数据复制基本原理及技术 2 1 基本概念 1 、分布式数据库技术 分布式数据库技术【l7 】是目前我们经常提及的分布式计算的一个重要组成部分, 该技术允许数据在多个服务器端共享。采用分布式数据库技术,一个本地服务器 可以存取不同物理地点的远程服务器上的数据:也可以使所有的服务器均可以持 有数据的拷贝复制,这样分布式系统中的所有服务器均可进行本地存取。 设计个分布式计算解决方案首先需要考虑的问题就是应用的完整性、复杂 性、性能和可用性以及响应时间等,同时还需要考虑的是对于不同的应用需求是 采用实时存取远程数据还是采用延迟存取远程数据。这对于数据复制来讲就是采 取实时更新复制方案还是延迟数据复制方案。 2 、同步和异步的概念 同步分发数据库技术是一种实时远程存取和实时更新数据的技术。这种技术可 以保证应用的完整性降低了应用的复杂性,但是如果系统存在网络存取速度很慢 这样的问题,相应响应时间就会很慢。 异步分发数据库技术是一种延迟远程存取和延迟传播对数据更新的技术。这 种技术具有很高的可用性和很短的响应时间。相比同步分发数据库技术就显得复 杂一些,为了确保应用的完整性需要仔细考虑和设计。 对于实际的商业问题,必须权衡这两种技术的利弊最终选择最佳的解决方案, 有些问题选用同步技术比较适合,也有一些问题采用异步技术是比较好的解决方 案,还有一些问题必须综合这两种技术。 3 、复制的概念 复制,顾名思义就是将数据库中的数据拷贝到不同物理地点的数据库中以支持 分布式应用,它是整个分御式计算解决方案的一个重要组成部分。上面介绍了同 步和异步的概念,这里针对复制也存在同步复制和异步复制的问题。 同步复制,复制数据在任何时间在任何复制节点均保持一致。如果复制环境中 的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的 复制节点。这种技术适用于那些对于实时性要求较高的商业应用中。 异步复制,所有复制节点的数据在一定时间内是不同步的。如果复制环境中的 7 东北犬学硕士学位论文第二章数据复制基本原理及技术 其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播 和应丰| 到其他所有复制节点。这些不同的事务叫可以间隔几秒,几分种,几小时, 也可以是几天之后。复制节点之间的数据i i 在时是不同步的,但传播最终将保证所 有复制节点问的数据一致。 4 、更新冲突 在异步复制环境中,对于所有应用最关键的就是要确保数据的一致性。我们来 看下面这种情况会有什么后果发生呢? 在同一时间对同一个表的同一行数据的同 一列在两个不同的地点作更新。这种情况就会发生称之为更新冲突的错误。为保 证数据的一致性,更新冲突必须被检测到并且处理以确保在不同地点的数据元索 保持同样的值。更新冲突可以通过限制”所有权”到单一节点或者将更新某个特定 数据元素的权利限制到某一具体节点的方法来避免。 2 2 数据复制类型 从总体上来说,数据复制可分为同步复制和异步复制,每种类型各有优缺点。 2 2 1同步复制 在同步复制中,一旦源数据发生变化,必须立刻将发生变化的内容更新到 目标数据库中。为了保证源数据和目标数据的一致性,在复制过程中采用了两 阶段提交协议;若目标数据库有多个,则只有当相互连接的每个目标数据库都 同意接受该更新事务时,作用在源数据上的修改事务和作用在各目标数据库上 的修改事务才算提交成功,否则,均回滚。 对于要求数据同步的应用来说,同步数据复制是非常合适的。但是,在同 步复制技术中,要求参与复制系统的各硬件设备和网络随时可用。否则,一旦 网络不稳定或硬件设备出现故障,则对源数据的修改和对目的数据的复制均会 失败。可见,同步复制技术对硬件设备和网络要求比较高。 2 2 2异步复制 当源数据库中的数据进行了修改并已提交之后,才对参与复制的目标数据 库进行更新,其中延迟的时间可以根据商业需要和用户需要而定。但是,目标 数据库中需要复制的数据最终会到达并与源数据一致。异步复制的好处是,若 其中某个数据数据库服务器失败,复制进程会循环等待,直到该数据库服务器 运行正常,而期间不会影响到作用在源数据上的更新事务。 一8 一 东北大学硕士学位论文第二章数据复制基本原理及技术 根据数据复制的方向,异步复制可分为如下三种方式: i 、主从方式( p r i m a r y t a r g e t ) 。在数据复制系统中,数据库分为主数据库 和从数据库。只有主数据库中发生的变化可是复制到各个从数据库中,而从数 据库中发生的变化不会复制到主数据库中。 i i 、工作流方式( w o r k f l o w ) 。以工作流的方式实现数据复制。一个数据库 中的数据进行了更新,然后将此更新内容传递到下一个数据库进行更新,再传 递到下一个数据库进行更新,以此类推。因此,在复制系统中,必须事先定义 更新系统的优先次序。 i i i 、随地更新方式( u p d a t ea n y w h e r e ) 。主从方式和工作流方式的数据复 制是单向的,而随地更新方式则是双向得。此方式无主从数据库之分,参与复 制的各数据库具有同等的地位。数据库a 上发生的变化可复制到数据库b 上, 数据库b 上发生的变化也可以复制到数据库a 上。因此,复制的过程中,有 可能会发生冲突,也就是说,各复制点有可能在同一时间更新同样的内容。此 种方式从技术的实现上来说,具有更大的挑战性。 在开放的系统环境中,设备不尽相同,系统的运行环境各异,相对而言,异步 复制比同步复制可靠且常用,因为系统或网络的失败不会影响到复制进程p j 。下面, 将阐述异步复制系统中数据是如何确定的,也就是数据复制的捕捉机制。 2 3 数据复制的捕捉机制 要实现数据的复制,必须从源数据库中确定哪些数据是需要复制的。目前,数 据捕捉机制可采用如下三种方式: ( 1 ) 基于触发器的数据捕捉 在需要复制的源数据上定义触发器。当该数据发生变化的时候,触发此触发器, 将变化的记录复制到目标数据库。由于此方式对整个事务信息不清楚,因此,为 保证数据的参照完整性,用户必须自己提供相关的应用,此应用比较复杂。 ( 2 ) 基于触发器的事务捕捉 基于触发器的事务捕捉是在用户更新数据的同时( 也即用户更新事务开始的同 时) ,激活一存储过程,用户的更新事务进程照常运行,被激活的存储过程在后台 9 东北大学硕士学位论文第二章数据复制基本原理及技术 将用户更新事务中数据的一系列变化重新组织到一个新事务中,然后将该新事务 更新到目标系统中。因此,此种方式虽然保证了参照完整性,但增加了系统的额 外负担,因为需要一个存储过程在后台同时运行,影响用户更新数据时的性能。 ( 3 ) 基于事务的数据捕捉 基于事务的数据捕捉直接从数据库系统的日志信息中读取需要复制的数据的 变化情况。此工作可以直接作为数据库日志系统的部分工作,对数据库性能影 响较小;有的系统则将数据捕捉机制作为单独的部分,采用外部的复制服务器进 行。此方式不影响用户操作的性能。 在开放的系统环境中,数据复制不只是简单的将数据从个数据库拷贝到另一 个数据库,最有效、最经济的方法是基于事务捕捉的异步复制技术。 2 4 数据复制技术 复制作为分布式数据库系统的关键技术,为分布式数据的存储和处理提供了有 力支持。数据复制技术是必不可少的。复制的数据能够满足决策系统的需要,使 决策支持系统与联机事务处理系统分离,从而提高联机事务处理的性能。数据复 制方案主要有以下几种: ( 1 ) 基于事务的复制方案【3 0 事务复制模式监视数据库的事务曰志,一旦一个事务被标记,它将被提交给数 据库。即,忽略未定的事务,以免这些事务被初始化它们的客户机回滚。然后这 一事务被标记为另一服务器的未定复制,即它们被置于一个事务队列中以便送入 网络上的其他服务器。未定复制事务被移入到一个或多个其他远程服务器后,该 事务被标明可移出f 1 志。这一方案需要由专门的复制服务器( r e p l i c a t i o ns e r v e r ) 完 成。优点是可以实时地进行数据复制,可靠性高,但是复制服务器同步数据需要 数据库服务器之间有固定的网络连接,对网络资源要求很高。 ( 2 ) 基于消息的复制方案 基于消息的复制技术其复制引擎是消息驱动的,根据数据库的同志信息在两个 数据库之间交换消息,保证双方同步。优点是只传递数据库的改变信息;当网络 失败时,系统可自动重新发送消息以保证数据的同步。但基于消息的数据复制其 数据同步的实时性不如复制服务器( 基于事务的复制方案) ,一般最少需要几分钟。 1 0 东北大学硕士学位论文第二章数据复制基本原理及技术 这种方案可用于网络之间的偶连接,即不需要固定的网络连接。 ( 3 ) 使用操作系统镜像完成复制 使用操作系统或硬件与操作系统的结合,在操作系统级管理复制是复制的最高 形式,其优点是备份或更替资源的选择和进程完全是自动的,不需要用户介入, 转换进程只需几秒钟,在检测错误故障的期间里,所有的用户已转入备份服务器。 但是需要维护两个或多个同等容量的服务器并使它们不断地相互联系,因此这一 方案的花费也是最可观的。 ( 4 ) 使用备份和恢复完成复制 执行基本数据复制可以用一种简单的方法:使用数据库备份,转存在服务器之 间移动数据。对于简单复制来说,使用备份进行复制常常是最有效、最经济的管 理复制进程的方法。但是使用备份进行复制由于数据量大,不利于经常性的信息 传输,异地数据复制一般不采用这种方法。对于局域网内,为了不影响实时事务 处理,利用备份数据进行在线分析处理o l a p ,是最简单的解决方案。 2 5 o p e n b a s e 数据库管理系统中的数据复制功能 实现数据复制方法有多种,不过每种都其自身的不足与优势,不是需要改动原 有应用系统,就是会影响原有应用的运行效率问题。本文根据对各种复制方法的 研究并依据o p e n b a s e 数据库自身的特点,提出了“基于事务1 7 志通过远程调用 对目的库应用变化,带有冲突解决”的数据复制方法。 该方法可以按照用户给定的时间间隔执行数据复制,数据复制执行时会读取日 志,并将自从上一次复制以来的变化信息提取出来转化为s q l 语句,对同志的读取 和语句的转换都是以事务为单位的,也就是说只有发现了日志中的一个完整事务 的时候,才会读取这一事务并将其转化为s q l 语句,进而采用通过远程访问来实现 对目的库应用变化。每个事务只有在目的库端执行成功后,源库端才会读取日志 中的下一个完整事务,如果上一个事务因为发生冲突没有在目的库端执行成功, 复制会根据用户指定的冲突解决方案来解决这个冲突,然后再继续执行。如果程 序发生异常中断,源库端会保存已经读取的日志中的位置,目的库端会回滚没有 完整的事务,重新连接后未完成的事务会被重新复制。 o p e i f l 3 a s e 数据库管理系统的数据复制功能采用的方法不对数据库中有复制 关系的表作任何标记,这样对数据库的结构没有改动,增加的数据复制功能不会 1 1 东北大学硕士学位论文第二章数据复制基本原理及技术 对原来的数据库系统造成任何影响:也不对源数据库端未复制的事务数进行限制, 但复制一般要求用户打开归档日志,这样可以保证日志中的信息完整,也就不会 发生复制中丢失数据的错误。如果用户没有打开归档同志,而且发生了在f 志中 存在不完整的要复制事务的情况,该方法还提供了全复制功能,可以把源库中要 复制的记录完整的复制到目的数据库,从而保证了源库与目的库的一致。 o p e n b a s e 数据复制功能还提供了水平和垂直复制功能,可以根据用户的要求 对源数据表进行分片【8 】,复制的时候只对用户需要的信息进行复制。 1 2 东北大学硕士学位论文 第三章o p e n b a s e 数据库系统复制功能的研究 第三章o p e n b a s e 数据复制功能的研究 从上面两章的论述可以看出,异步、基于事务数据捕捉、带有冲突检测与解决 的复制是一种有效、经济而又能满足多种复制要求的复制方法。 3 1 o p e n b a s e 数据库系统的研究 异步数据复制在执行复制的时候要对数据库中的复制表白从上一次复制以来 的变化内容进行复制,可是这一信息无法直接从源数据库中的数据表中得到。在 o p e n b a s e 数据库系统中对数据库的每一个操作都会记录在其日志中,所以要在 o p e n b a s e 中实现数据复制功能,首先应该对o p e n b a s e 数据库的日志管理方法 有所了解。 o p e n b a s e 数据库系统使用三种不同形式的日志:服务器端的运行日志、客户 端的o d b c 日志和事务日志。 服务器端的运行日志文件o p e n b 鹤e 1 0 9 中包含数据库系统运行期间服务器端产 生的各种信息,包括启动服务、错误、日志相关信息等等。o p e r d 3 a s e 的管理员 可以通过查看此文件来诊断系统运行是否正常。 客户端的o d b c 日志记录了o d b c 的应用状态,如s q l 语句的内容,执行的 时间,是否正确等等。 事务日志可以用来在数据库系统崩溃时帮助恢复数据库系统。事务曰志文件中 记录了对数据库的每一次更新操作。每个o p e n b a s e 的实例中都有独立的事务日 志,从而保证了实例失败时仍能够正常恢复数据库。 显然,事务同志应该是我们需要研究的对象。 3 1 1 o p e n b a s e 事务e l 志 事务日志文件中记录了对数据库的每一次更新操作。每个o p e n b a s e 的实例 中都有独立的事务a 志。 事务日志中记录的对数据库的每一次更新操作,正是数据复制所要得到的数据 库中的变化信息,只要能从日志中筛选出符合要求的记录,就有可能得到和复制 表有关的变化信息,也就可以得到对目的库应用变化的s q l 语句。但是有三个问题 1 3 东北大学硕士学位论文 第三章o p e n b a s e 数据库系统复制功能的研究 需要解决: l 、日志记录的结构是怎样的? 2 、如何保存和定位每次复制的位置? 以使每次复制得到的都是上一次复制后 新的变化信息。 3 、是否可以直接得到可以应用于目的表的s q l 语句? 带着以上三个问题,下面对o p e n b a s e 日志记录的结构进行一些分析。 3 1 11 目志记录结构的研究分析 日志记录的结构: 图3 1 日志结构 f i 9 3 1s t r u c t u r eo f l o g 这里要提一下事务的概念,事务( t r a n s a c t i o n ) 是并发控制的单位,所谓 事务是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工 作单位,事务通常以b e g i nt r a n s a c t i o n 开始,以c o m m i t 或r o l l b a c k 操作结束。c o m m i t 即提交,提交事务中所有的操作,事务正常结束。 r o l l b a c k 即撤销已作的所有操作。回滚到事务开始时的状态,这罩的操作 指对数据库的更新操作。 在o p e n b a s e 数据库中同样也是以事务为工作的一个逻辑单位的,而且 o p e n b a s e 数据库的数据复制功能采用的方法也是基于事务的,所以我们希望 能从o p e n b a s e 数据库的事务日志中得到有关数据库更新的事务信息。 我们需要从事务日志中得到一条日志记录,并对其进行分析,最后将其组 成可以对目的库应用的s q l 语句。o p e n b a s e 数据库系统提供了读取日志记录 1 4 东北大学硕士学位论文 第三章o p e n b a s e 数据库系统复制功能的研究 的函数,那么如何判断得到的日志记录是不是一条和数据库更新有关的事务记 录呢? 在上面的日志结构中,通过r e c o r da t t i b u t e 可以判断这个日志记录是不是 一条事务记录。 数据复制功能是基于事务的,也就是说,复制每次都要对一个完整的事务 进行复制,如何从日志中取得一个完整的事务呢? 首先,需要知道一个事务在 一个日志文件中的开始和结束标记是什么? 下图所示是日志记录指针的结构,利用它可以解决上面遇到的问题。 同志记录指针的结构: 图3 2 日志记录指针结构 f i 9 3 2s t r u c t u r eo f l o gr e c o r dp o i n t e r 如图3 2 中描述,r e c o r di d 是日志记录的i d 号,可以唯一表示一条日志 记录: r e c o r do f f s e t 是日志记录在日志中的偏移量。 有了这两个值还不能确定一个事务的开始点和结

温馨提示

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

评论

0/150

提交评论