版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第22卷第7期计算机应用与软件Vol 122, No 172005年7月Computer App licati ons and Soft w are Jul 12005 收稿日期:2004-02-04。盖九宇, 硕士, 主研领域:计算机技术。分布式数据库数据复制技术的分析与应用盖九宇1张忠能1肖鹤21(上海交通大学电子信息与电气工程学院计算机科学与工程系上海2000302(中国地质大学信息工程学院计算机系北京100083摘要本文在分布式数据库系统的基础上, 针对分布式数据库的数据存储方式进行了概述, 细致地讲述了分布式数据库复制技术的几个关键内容, 对O racle 、Sybase 、S QL
2、 Server 数据库的复制技术(方案 进行了综合分析比较, 并结合实践经验提出了复制技术的方案选择策略, 对复制技术的发展进行了展望。关键词分布式数据库复制技术方案选择DATA REPL I CAT I O N TECHN I QUE ANALY S I S ANDAPPL I CAT I O N I N D I STR IBUTED DATABASE SY STE MGai J iuyu 1Zhang Zhongneng 1Xiao He21(D epart m ent of Co m puter Science &Engineering, Shanghai J U Shangha
3、i 2(D epart m ent of Co m puter , China Geological U B Abstract T o begin with, the article intr oduced of st . the paper expatiated on s ome key parts of data rep licati . on on in O racle 8. x +, Sybase 11. x +and M icr os oft S QLServer (2000+ were app were given and s ome p rinci p les on data r
4、ep licati on methods selecti onwere p r ovided . A t last, r of data rep licati on technique were discussed . Keywords D istributed database Data rep licati on Soluti on Selecti on0引言在分布式数据库系统中, 广泛使用了数据复制技术进行数据复制和传输。几乎所有的大型数据库系统都提供了自己的数据复制解决方案和数据复制组件。分布式数据库复制技术为分布式数据库系统提供了许多优势, 在实践中也有大量现实的需要。本文就数据复制
5、的有关问题进行了探讨。1分布式数据库的数据存储在分布式数据库中存储一个关系r, 有以下几种方法:(1 本地存储数据在本地数据库系统中存储。(2 复制系统维护某个关系r 的几个完全相同的副本(拷贝 , 各个副本存储在不同的节点上。与复制相对的方式是只存储关系r 的一个拷贝。(3 分片关系被划分为几个片段(垂直分片、水平分片或混合分片 , 各个片段存储在不同的节点上。(4 复制和分片关系被划分为几个片段, 系统为每个片段维护几个副本。2数据复制如上所述, 数据复制实际上就是指在分布式数据库系统的多个数据库间拷贝和维护数据库对象的过程。这个对象可以是整个表、部分列或行、索引、视图、过程或者他们的组合
6、等。211数据复制的实现方法广义上, 凡是通过数据库系统生成数据库对象副本的过程都可以称为复制。实现数据复制的几种常见方法主要有拷贝法(使用S QL 语句中C OPY 命令 、触发器方法、狭义意义上的复制技术方法。狭义的数据复制, 是指由数据库系统提供的数据复制组件(数据复制模块 实现, 由数据库系统管理的数据复制。212数据复制的参考模型目前在各个分布式数据库系统中广泛使用的是“出版(发行 和订购”模型。如图1。图1复制模型出版, 就是向其他数据库服务器(订购者 发行(复制 数据, 即提供数据供订阅者复制。订购/订阅, 就是从其他服务器(出版者 接受复制数据。分发:把从出版者传递来的复制的有
7、关内容传送至相应的订购者的服务器, 并负责维护分发数据库。有的数据库系统把类似的角色称为传播者。出版者、分发者、订购者只是角色的描述, 理论上一台服务器可以同时担任上面三个角色的任意组合,但实际中往往考虑 第7期盖九宇等:分布式数据库数据复制技术的分析与应用37到系统的性能而做出一定的限制。213数据复制技术的分类21311按复制的内容、方法分类2131111表复制是把某一时刻源数据表的内容通过网络复制到副本, 因为复制的内容是某一时刻的表的状态, 所以又形象地成为表快照。表复制传输的是数据, 是将整个出版物复制给订购者。它的内容也可以是部分的行/列或者视图等。表复制, 往往需要复制较多的数据
8、。因而对网络资源需求相对较高, 不仅要求有较高的传输速度, 而且要保证网络传输的可靠性。2131112事务复制是把修改源数据库的事务发送到副本。复制的可以是修改的表项、事务或事务日志。副本接收到复制内容后, 通过在本地数据库执行接收到的事务操作来实现与源数据或者过程的一致。事务复制在网络中传送的是事务, 即将发生的变化传送给订购者, 是一种增量复制。在事务复制中, 由于要不断监视源数据库的数据变化, 因而主服务器的负担较重。当出版数据发生变化时, 这种变化很快会传递给订购者, 而不像表复制那样等待一个相对较长的时间间隔。某些数据库系统中的过程化复制, 实质上是一种程序化了的事务复制。21312
9、从参与复制的节点间的关系分类2131211主从复制( (数据库 复制对象, 。主从复制是最基本的一种结构在这种结构中, 定义一个主节点, 其源数据称为主节点数据(或主拷贝 ; 定义1到n 个复制节点, 其从主节点复制过来的数据称为复制点数据(或副拷贝 。数据更新操作只能在主拷贝上进行, 然后复制给其它副拷贝。2131212对等复制所有副本在任何节点都可以被修改, 并且修改可以发送给其他副本, 即所有站点的地位、作用是等同的, 没有主从关系。2131213级联式复制是主从结构的一个扩展, 它也是由一个主拷贝和若干个副拷贝组成。不同于主从结构的是它允许每个从属副拷贝(从属站点 具有复制的能力, 即
10、一个从属副拷贝可以把接收到的复制数据再传给下一个从属副拷贝。例如, 在O racle 中一个快照站点也可以作为主站点。21313按照复制的复杂性分类当复制中主要是单向的更新或者说在只有主站点可以对数据进行更新时, 我们常称之为基本复制。当复制中包含了双向或多向的更新, 此时有可能产生多个站点同时更新某一数据的情况(如可更新的快照复制、对等复制及对等复制和基本复制混合的复制实现等 , 在实际数据库系统中往往称为高级复制。在高级复制中, 往往会产生复制冲突, 应用和实现相对复杂。其他的一些分类方法, 可参见各数据库系统从不同角度对复制技术的分类。3几种主流数据库复制技术的分析比较各大数据库厂商都在
11、其数据库系统中提供了功能相对完善的复制方案, 这里只介绍O racle (8. x 、M icr os oft S QL Server(2000+ 、Sybase (11. x +的复制技术, 并给出简要的分析、比较。311O racle 复制技术O racle 技术书籍中对复制技术分类的描述有些混乱, 使用了多重标准进行了混合命名。一般的技术书籍都这样分类:快照复制、多主体复制、多主体与快照混合复制。31111快照复制快照复制是在一个时间点上, 对目标主表进行完全或部分拷贝的复制处理。O racle 中, 快照包括只读快照和可更新快照。在快照复制中, 快照节点与一个并且只与一个主节点相关,
12、主节点含有要复制到其他节点的一组对象。只读快照又可分为3种类型:主码快照、ROW I D 快照、复杂快照。主码快照是按照主表的主码构造快照视图, 改变只基于主码被记录并传播。ROW I D 快照, 是基于物理行标识符或主表中行“ROW I D ”的快照, 主要是为了与老版本O racle 数据库进行数据复制时兼容所需。复杂快照, 快照的定义查询中包含了复杂查询(即含有分离或合计函数、GROUP BY/CONNECTBY 子句、连接、复杂的子查询或一组操作等 , , 但是复杂, , , 简单快照是指仅从, 而且不执行任何集合操作、联合、BY 、CONNECT BY 等语句。可更新快照中, 在快照
13、站点执行的全部改变将在主体站点做出更新。在可更新快照中, 应该建立快照日志(其他类型的快照不需要 , 快照日志中含有受更新影响的主码或ROW I D , 快照日志也可以含有快照上主站点子集信息。建立快照日志后, 可以使用快速刷新, 其刷新过程只引用快照日志内容。快照通常在以下情况下使用:数据复制的初始化; 不需要实时数据的环境, 如决策支持、静态表查询; 订购者不对出版数据进行修改, 并且不需要最新数据的情况。31112多主体复制多主体复制允许多个站点, 作为同等的主体, 成组地管理复制数据库对象。在多主体复制环境中的每个站点都作为主站点。适用于几个主数据库之间的数据复制。O racle 8.
14、 x 中只有企业版才支持多主体复制。31113多主体与快照混合配置这种配置可以有任意数量的主站点, 并且每个主体站点也可以有多个快照站点。在这种配置中, 主体站点上的全部复制对象将被完全更新, 但在快照站点上, 复制可以是完全的, 也可以是部分的。312SQL Server 复制技术31211S QL Server 快照复制是一种只读快照。实际上是对订购数据库进行一次阶段性的表刷新, 把所有出版数据库中的数据从源数据库送至目标数据库, 而不仅仅是那些变化了的数据。S QL Server 快照复制的执行需要快照代理和分发代理。快照代理准备快照文件并将其存储在分发者的快照文件夹中, 同时还要在发布
15、者的分发数据库中跟踪同步作业。分发代理将在分发数据库中的快照作业分发至订购者的目的表中。 38计算机应用与软件2005年31212事务复制复制的内容不是数据而是多条DE LETE /UPDATE /I N SERT 语句或存储过程。使用事务复制时, 修改一般是发生在出版者, 如果设置了“立即更新订购者”选项, 则事务复制也可在订购者处修改复制数据(此时这种复制与O racle 的可更新快照相似 。S QL Server 事务复制支持并行的快照处理, 提高了出版服务器的应用效率。由于事务复制在较小的时延内把数据分发到订购者, 因此要求(适用于 出版者与订购者保持常连接的环境, 而快照复制只要求在
16、规定的复制时间保持连接即可。31213合并复制允许订购者对出版物进行修改, 并将修改合并到目标数据库(可以是出版数据库或者订购数据库 的复制技术。各个节点可独立工作而不管是否相互连接, 可对出版物进行任何操作而不必考虑事务的一致性。在合并修改时再按照一定的规则或自定义的冲突解决策略来对冲突进行分析并接受冲突一方的修改。特别适合于中心数据库和移动数据库之间的数据复制。313Syba se 复制技术Sybase 按照应用模式(环境 对数据复制进行分类, 或者说是面向应用的分类。它提供三种复制模式和产品。31311Mobilink是一种基于会话的复制方式, 用于双向数据复制。其同步过程是通过某种直接
17、通信连接实时进行的。线网络与Mobi L ink , , , 接受整个更改集, 。这种模式适用于各种移动数据库, 支持多种数据库, 包括非SY BASE 数据库。可以与Sybase 及几乎所有主流数据库系统等连接。31312S QL Re mote是一种基于消息的复制模式, 用于双向事务复制。消息是指存放在特定目录中的文件, 或者是特殊格式的电子邮件。每个数据库连接的消息代理发送与其数据更改有关的消息, 从一个或多个其他数据库接受消息, 然后根据收到的消息内容来修改数据库。允许在没有直接连接的数据库间进行复制。适用与统一数据库和大量远程数据库之间的双向复制。但其中心数据库必须是Sybase 数
18、据库。Mobi L ink 、S QL Re mote 用于在中心数据库(统一数据库 和大量远程数据库之间进行复制, 允许在多个位置同时更改相同的数据, 并且提供了解决各种冲突的办法。31313Rep licati on Server复制是基于连接的复制, 用于双向事务复制, 是接近实时的复制系统。数据库之间的连接应是不间断的或至少接近不间断。通常使用不间断的和可靠的高速连接, 包含了存储转发技术, 能够在连接中断又重建后自动继续复制。主要用于少量大型数据库服务器之间的复制, 支持多种主流DB M S, 并且允许在复制过程中映射对象名, 因而可以支持异构数据库。Rep licati on Se
19、rver 用于在相对较少的数据库之间进行几乎实时的复制, 为复杂的分布式企业提供了强大的复制功能, 它可以在多个数据库之间维护一致性和连续性, 可以在Adap tiveServer 、非Sybase 、基于LAN 和主机数据服务器之间复制数据。Rep licati on Server 支持W I N DOW S NT 系列、A I X 等多种UN I X 平台。所有Sybase 复制模式都提供双向复制功能。4数据复制技术(方案 的选择各种数据库系统都提供了比较完备的数据复制功能, 但各有特色。根据实际的工作经验, 我们认为在选择复制技术方案时要考虑以下因素:411复制环境的限制(1 系统的同构
20、性、同质性主要考虑系统中有几种数据库系统, 同一种数据库产品的版本是否相同等问题。如果是非同质/非同构的, 要尽量选择异构支持好的数据库系统。(2 网络的性能与可靠性网络的带宽、通讯量、速度、连接的实时性、可靠与否。这几项因素都是制定复制方案时, 必须要考虑的内容, 如果只考虑复制本身的要求, 而不考虑这些因素, 很可能导致复制冲突、复制异常等情况。(3 各节点的硬件配置和工作性能一是要考虑复制节点本身的性能是否能足够支持复制方案的要求; 二是分配复制角色时, 要考虑选择硬件配置和性能较好的服务器做主服务器; 三是在解决复制异常时要检查节点具体情况。(4 各节点的事务数量应该合理调度复制, 避
21、免造成网络拥塞、服务器负担过重。412复制本身的要求/复制间隔要。, 则可在定制复。(2 复制数据量(变化量 的大小尽量选择那些能实际减少复制数据流量的方案。(3 复制是单向还是双向复制是否要求双向复制, 选择的复制方案是否支持双向复制。(4 复制是否会产生复制冲突如果可能产生复制冲突, 则必须事先规划好冲突解决方案, 并采取措施尽可能地避免冲突。5结束语分布式数据库技术正在以前所未有的速度发展和应用, 同时也在推动数据复制技术尤其是高级复制技术的进一步发展。在高级复制中, 如何根据实际情况组合配置各种复制方案、尽量避免冲突、组合配置复制冲突解决方案是分布式数据库数据复制技术的难点。一方面这需
22、要实际的环境的支撑; 另一方面需要各种复制方案和冲突解决方案技术的发展; 另外这些方案的组合搭配也包含了许多技术和技巧, 而这些组合也需要不断在实践中检验。这都是今后复制技术研究的重点。我们相信, 随着技术的进步, 特别是随着多主体高级数据复制技术的完善, 数据复制技术必将带给我们更多的安全和便利, 为分布式数据存储、传输提供更加方便、快捷的方法, 为分布式数据库的应用提供更强大的功能。参考文献1周龙骧, 分布式数据库管理系统实现技术, 科学出版社, 1998年7月第1版12M. Ta mer Ozsu, Patrick Valduriez Princi p les of D istribut
23、ed Database Sys 2te m s (Second Editi on , 清华大学出版社, 2002年6月第1版(影印 13徐进、姜世锋等, S QL Server 2000Pr ogrammer s Guide 编程员指南,北京希望电子出版社, 2000年12月第1版1(下转第41页 第7期冯少荣:基于X ML 的W eb 数据集成技术的研究41种类型的数据DT D 。在标准DT D 基础上, 面向使用方设计各种特定领域的标准化用户请求平台或接口, 作为用户直接加以利用或作为再次开发请求生成器的工具。面向数据提供方, 提供应用平台, 让数据提供方确定自己的应用范围, 建立本地术语
24、与标准化术语之间的对照关系, 并指定数据在本地的位置。为实现跨平台的数据操作问题, 模型在用户方请求文档中包含了操作请求, 操作请求在语义上可以定义为查询、修改、增加等操作。在形式上可借助标准的数据操作语言, 达到精确表达请求的目的。模型中的文档处理部分包含了请求文档和结果文档的生成与分析。Java 提供了处理X ML 文档的类和方法, S AX 是Java 的X ML 处理器的AP I, DOM 定义了X ML 文档的对象模型, 可以利用Java 实现文档的有效性验证、数据提取和查找等操作。利用Java 的X ML 处理器来实现X ML 文档分析与生成, 可以避免底层文本处理细节。4基于X
25、ML 的信息集成37为了摆脱对特定技术的依赖, 应采用UML 作为建模标准, X ML 作为数据交互标准, S QL 、X ML 2QL 、XQL 作为查询标准。411集成框架逻辑上分为以下3层:W eb 数据资源层数据库、X ML 文档、HT ML 页面、。集成模式层W 档。如DT D 、Sche ma 、。用户视图层, 提供用户端浏览操作。412重要组成部分包括以下四个模块:X ML 文档解析模块是X ML 文档索引、查询、检索和数据库存储、管理的基础。主要有基于树的DOM 和基于事件驱动的S AX 两种解析方式。支持X ML 文档的数据库中间件模块由于数据库在事务处理、并发控制、可靠性和
26、安全性等方面的特性, 许多利用X ML 做为数据交换格式的应用要求能在关系数据库和X ML 文档之间传送数据。而通过支持X ML 文档的数据库中间件, 依据模板驱动或模型驱动方式可以实现数据库模式和X ML 文档结构之间的映射。X ML 文档检索模块可以使用值索引、标识索引、边索引、路径索引等多种索引技术, 并且通过构建关键词表、索引条目表的多级检索体系实现X ML 文档的索引、查询。基于Ont ol ogy 的元数据读取模块提供在查询和存取半结构化数据及非结构化数据过程中获取相应的语义解释, 即元数据。另外, 在X ML 的信息集成过程中要考虑, 由于X ML 文档的长度显著增加, 在网络传
27、输时, 传输效率问题。解决的办法可使用压缩技术, 以减少其大小。另外, 还要考虑采用一些网络安全技术, 以便提高数据集成过程中的安全性。5结论本文提出的基于X ML 的W eb 数据集成互操作模型和集成构架, 具有以下特点:(1 基于术语标准化的一致性的操作平台, 分布、异构环境下的信息集成方案和构架结构。(2 灵活的资源共享方式, 可以根据自身的需要提出访问请求。半结构化数据和非结构化数据的统一、集中管理, 提高了网络传输速度。(3 安全的验证控制措施。半结构化数据和非结构化数据的有效检索方案。(4 兼容不同数据库结构和平台, 模型中的中间文档采用标准化的语义及操作表示, 通过语义和操作的转
28、换, 兼容现有的数据库结构和平台。为信息增加语义信息, 提高检索效率。(5 实现模块之间逻辑和技术的低耦合性。(6 适合W eb 应用, 便于用户通过I nternet 访问。(7 一定的扩展性和可移植性。由于X ML 将作为数据表示的标准, 既可以表示结构化数据也可以表示非结构化数据, 以X ML 为数据交换中介的应用将非常普及, 该模型和集成构架在W eb 领域将会具有广泛的应用。参考文献1B ray T . , Paoli J. , Sperberg 2McQueen M. C . , Extensible markup lan 2guage (X ML 1. 0(Second Edit
29、i on /OL, W3C, htt p:www . w3. org/TR/REC2x m l 210.2Ada m o Aut omated web App lica 2ti , I I ( .3. A Generie Load /Extract U tilityTransfer Bet w een X ML Documents and Relati onal Databases . W EC W I S 2000,M il p itas, Calif ornia . 2000. 6.4Len Selig man et al . , X ML s I m pact on Databases and Data SharingJ ,Computer, 2001; 34(6 :5967.5McHugh J. , Abiteboul S .
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手机买卖合同书范本完整版
- 校医聘用合同
- 苗圃技术员岗位晋升合同(2024版)
- 二零二四年云计算服务提供商租赁合同3篇
- 2024解除工程合同协议书
- 基于2024年度市场需求的广告投放合同标的和权益
- 团购合同协议标准版可打印
- 关于挖机租赁合同范文
- 2024业务承揽合同范本
- 2024房屋防水工程合同
- 卫星定位测量的几个基本概念分享资料
- 交房期间业主维权突发事件应急预案
- HIRAYMA HVE50灭菌锅 操作手册
- 《草房子》读书交流会
- 皮尔逊Ⅲ型曲线模比系数计算(共享版).xls
- 新冠肺炎疫情防控一线医务人员申报确认表
- 辽宁省高校学生公寓情况统计表
- AC-16沥青混凝土配合比报告
- 小学生认识货币(课堂PPT)
- 大型机械设备转场运输方案讲解
- Agilent1260Infinity高效液相仪基本操作
评论
0/150
提交评论