欢迎来到天天文库
浏览记录
ID:23525357
大小:105.00 KB
页数:5页
时间:2018-11-08
《分布式数据复制技术初探》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、分布式数据复制技术初探 摘要:数据复制技术,在解决数据库由于地理位置的分布,而引发的数据不一致问题上以其突出的优点得到了广泛的应用,现已成为数据库技术研究领域的热点。 关键词:数据复制分布式数据常用方法 一、分布式数据复制技术基本概念及优点 分布式数据库技术是目前我们经常提及的分布式计算的一个重要组成部分,该技术允许数据在多个服务器端共享。采用分布式数据库技术,一个本地服务器可以存取不同物理地点的远程服务器上的数据;也可以使所有的服务器均可以持有数据的拷贝/复制,这样分布式系统设计一个分
2、布式计算解决方案首先需要考虑的问题就是应用的完整性、复杂性和可用性以及响应时间等,同时还需要考虑的是对于不同的应用需求是采用实时存取远程数据还是采用延迟存取远程数据。这对于数据复制来讲就是采取实时更新复制方案还是延迟数据复制。 广义上,凡是通过数据库系统生成数据对象副本的过程都可以成为复制。实现数据复制的几种常见方法主要有拷贝法(使用SQL语句中COPY命令)、触发器方法、狭义意义上的复制技术方法。狭义的数据复制,是指由数据库系统提供的数据复制组件(数据复制模块)实现,由数据库系统管理的数据复
3、制。5 通过数据复制的方法实现整个分布式数据库中的维护具有以下几点优势: 1、减少网络负载,因为不用每次通过网络获取要访问的数据; 2、提高性能,因为能够进行本地数据访问; 3、更好的负载平衡,较大的工作负载可以分布到多个站点上; 4、能够使用拷贝数据进行开放和测试; 5、更好地支持商业应用。 当然,在实际应用中,由于各个数据库副本可能对相同的数据对象进行操作,当进行数据同步时,就会产生冲突,主要有更新冲突、唯一性冲突、删除冲突等等。这些冲突会严重影响数据库数据的完整性。所以在复制
4、过程中必须尽量防止数据冲突的产生,一旦发生冲突,就必须有预先设置的冲突解决方法。 二、分布式数据复制的常用方法 数据复制按照其变化捕获的方法不同,最常用的有四种:基于触发器法、基于日志法、基于时间戳法、基于API法。 1.基于触发器法5 此方法是在主数据表中创建相应的触发器,当主表数据被进行更新、插入和删除操作并成功提交时,触发器就会被触发,通过相应的提取程序,将当前主数据表的变化写入目的数据表中,以实现数据副本与主表数据在任何时间均保持一致,这种方案可用于同步复制、增量复制,但是这种基
5、于触发器的方法占用的系统资源较多,影响系统运行效率,并且对通信网络的可靠性和安全性有较高要求,因为一旦存在网络中断,系统就无法正常运行。同时,基于触发器的复制方法对比较复杂的复制任务需要非常复杂的配置和实施,一定程度造成管理上的不便,尤其对于对等复制和异构复制较难实现。因而这种方法不适用于企业级数据复制,较适宜于小型数据库应用。 2.基于日志法 通过分析数据库日志的信息来捕获复制对象的变化序列,如:INFORMIX提供的CDR就是通过读取逻辑日志来获取变化信息的。这种方法不仅方便,也不会占用
6、太多额外的系统资源,对任何类型的复制都适用,不但能提高效率和保证数据的完整性,还能在对等式复制时提供详细的控制信息。但由于数据库日志的格式是不公开的,因而不得不基于某一固定的数据库日志分析工具或接口,这给异构数据库复制带来了问题。 3.基于时间戳法 基于时间戳的方法主要根据数据记录的更新时间判断是否最新数据,并根据此对数据副本进行相应修改。该方法需要相关应用系统中的每个表中都有一个时间戳字段,以记录每个表的修改时间。这种方法虽然不影响原有应用的运行效率,但却需要对原有系统做较大的调整,而面对
7、捕获那些并非通过应用系统引起的操作数据变化存在困难,虽然可以通过设定触发器记录数据修改时间,但同时也降低了系统运行效率。所以对数据更改较少的主表实现数据复制,基于时间戳法较为合适。 4.基于API法 在应用程序和数据库之间引入中间件,在API上来完成应用程序对数据库修改的同时,记录下复制对象的变化序列。这种方法既可以实现异构数据库复制,也减轻了DBA的负担。5 三、数据复制产品 大型关系数据库都提供了数据复制功能的产品,如SY-BASE公司的RelicationServer在SYBASE
8、数据库之间实现信息的复制,但它们要求要有相同的数据结构,但对于异构数据库之间的消息传递,replicationserver则显得无能为力。同时replicationserver,用户难以控制数据的复制过程。由于缺少足够的日志消息,用户很难监控复制结果。 数据库厂商由于具有对自己数据库的彻底控制权,因而在实现数据复制时具有较大的灵活性。 这类数据复制的特点表现在: 1、支持多种复制方式,如同步复制、增量复制、完全复制等; 2、支持数据的接收端修改收到的数据,并将修改情况反馈给发送端,在发送
此文档下载收益归作者所有