分布式数据库同步技术及其应用
2022-02-20
来源:易榕旅网
第34卷第l2期 2008年l2月 电子工叠师 ELECTR0NIC ENGINEER Vo1.34 No.12 Dec.20o8 分布式数据库同步技术及其应用 景慎艳 (辽宁对外经贸学院信息技术系,辽宁省大连市116052) 摘要:分析了分布式数据同步的方法和策略,对SQL Server、Oracle等结构的数据库复制方案进 行了对比,针对数据同步过程中对数据的一致性、安全性、高效性等需求,提出了采用二进制方法进行 双向增量传输的数据同步方式,指出了异构数据库模式转换的要点。 关键词:数据同步;分布式数据库;增量同步;数据压缩 中图分类号:TP311.11 O引言 d)自主数据同步组件方式。针对前述方式的缺 陷,各应用领域都在着手探索和实现更安全、高效、灵 活的数据同步组件。 1.2数据同步的策略 a)完全同步法。是指当从站点发出同步请求或 定期进行数据同步操作时,都将生成完整的同步数据 集合,并将这些数据完全刷新到从站点上,从而达到基 站和从站之间的数据同步。完全数据同步的特点有两 个:一是技术简单,完全数据同步对基站点没有过多的 要求,基站点不需要记录因数据操作(Insert插入、up- date更新、Delete删除)而引起的数据变化,只需要完 随着企业业务领域的扩展与企业信息化进程的不 断推进,分布式异构数据库应用的日趋广泛,进行分布 式异构数据库数据同步技术的研究具有重要的意义。 数据同步通过对处于分布式数据库系统中各个站点上 的数据进行同步来达到对数据分散存放的目的,这种 存放可以使用户透明地处理和使用数据,大大增加了 站点的自治性,且这些副本大大减少了由于自然或其 他原因导致的数据丢失等重大故障。 分布式数据库的同步是一项复杂的系统工程,在 数据的采集、打包、传输、解包、更新等步骤中面临着一 致性、安全性、高效性等特殊要求。 全的复制同步数据集中的所有数据;二是资源浪费严 重,例如要同步的数据集有8 000条数据,其中有6条 是新增的,2条是修改的,变化的数据仅有8条记录, 1数据同步的主要方法和策略 1.1数据同步的方法 自20世纪90年代开始,诸多学者对数据同步进 行了大量研究,总结出数据同步的几种常用的方法: a)手工方法。这种最原始的方法对工作人员的 专业水平的要求很高,并且在站点较多,在数据相对复 杂的情况下工作量也很大。 b)基于电子邮件的同步方式。是指用邮件服务 如果采用完全同步法则要将其余的7 992条未发生变 动的数据一起同步到从站点。 b)差异同步法。相对于完全同步法,差异同步法 只需要同步变化了的数据即可,大大提高了数据同步 的效率,但要解决的问题较多,例如:如何跟踪并识别 同步数据集的数据的变化;以什么方式将同步数据集 的变化应用到要同步的从站点上;在同步的过程中如 果发生数据冲突,应如何处理;在同步的过程中如果发 生异常,同步被迫中断,事务如何回滚。 器(MailServer)作为数据同步的中间传输工具,来保持 数据的同步。但是出现邮件丢失和邮件的发送和接收 顺序不一致的情况,会使数据同步变得更为复杂。 e)基于FTP的数据同步方式。FFPServer监视各 目录下文件的变化及时合并数据并将同步的结果放置 在分发目录下,供各个站点下载。但是,这种FTP的 1.3数据同步技术要解决的核心问题 数据同步技术目前还不够成熟,在实际应用中还 有一些瓶颈问题需要解决: a)异构数据库问的数据同步。SQL Server、Oracle 等常用的数据库软件均支持同种DBMS间的数据同 步,但对异构数据库的同步支持非常有限。 b)增量式的数据同步的实现。在使用电话线等 慢速网络的方式上网的情况下,需要使用分时增量数 目录扫描、组织和管理是相当复杂的,并且存在传输过 程和同步过程脱节的情况,同时也存在FTP服务器的 容量限制问题。 收稿日期:2008-08-06;修回日期:2008.10—12。 据同步方式节约通信成本和传输时间。 48· 第34卷第12期 景慎艳:分布式数据库同步技术及其应用 ·计算机与自动化技术· C)双向数据同步。数据同步网络拓扑结构一般 指同步发起方主动发起,将自己本地站点中的最小变 动数据集发送给同步接收方的数据传输过程。下载数 据是指同步发起方将同步接收方形成的最小变动数据 集接收到本地站点的数据传输过程。针对不同的情 采用星形的基站点一从站点的单向传输模式,在实际 应用中常具有双向同步的需求。 d)传输效率与安全性要求。针对GPRS、拨号网 络等方式上网的慢速传输方式,传输效率往往是难点 况,提供以下3种传输模式供用户灵活选择: 问题,而数据安全性几乎是所有用户的共同需求。 2数据同步流程分析 2.1数据同步总体结构 图1表示当一方站点发起一次数据同步时,首先 从自己的本地站点中提取发生变动的数据(新增、修 改、删除等)形成数据集参加更新同步,更新成功后, 接收方站点也将自己本地数据库中的变动数据形成一 个数据集返回发送方站点,对发送方站点中的对应数 据库表进行数据更新,在以上操作中若有失败的环节, 那么此次同步失败,程序将结束运行,当下次再进行数 据同步时可选择从此断点继续进行数据同步,克服 DBMS事务的回滚带来的时间与资源浪费问题。 发起方站点数据库中提取最小变动数据集进行数据同步 【— N 哿最,J瞳勘数据集传i羞到接收方站点,并对接收方站点的数据库进行更新 ' —— N —~'==:=:●Y ::—/ 在接收方站点数据库中提取最小变动数据集进行数据同步 将最小变动数据集传送到发起方站点, 并对发起方站点的数据库进行更新 图1数据同步过程 2.2数据采集 使用差异同步法得到最小变动集进行数据同步。 采用增量表的方法是在同步发起方发起同步的操作 时、同步接收方收到同步请求时,都先到本地的内存中 定义一个临时表,并本地的“数据状态”为“新增”标识 的记录加到临时表中,形成一个新的数据集,将这个新 的数据集传到对方。 2.3数据传输方案 数据传输分为上传数据和下载数据。上传数据是 a)正常传输。这种方式是将从本地提取出来的 最小变动数据集以原始的形式在网络问传输,但传输 速度比较慢,数据安全性保障比较小。 b)自动压缩传输。通过大量的传输数据统计出 来的一个压缩传输数据量底限值,当值大于一定量时, 系统自动启用压缩机制对同步的数据进行压缩传输。 自动压缩传输是一种更为理想的数据传输方式的选 择,它在用户不用了解同步的数据量大小的情况下,提 供给用户一个较为合理的同步数据压缩机制。 c)强制压缩传输。这种方式是无论数据量大还 是量小都采用压缩的二进制方式进行数据传输。 以上3种方式的提供大大方便了用户,在同步的 数据量较小时可以不采用数据压缩方式进行数据传 输,因为在任何数据进行压缩和解压的过程中必须耗 费一定长的时间,即 压缩数据的传输时间:压缩时间+ 解压时间+数据的网络传输时问 非压缩数据的传输时间=数据的网络传输时间 数据量相对较少时会出现非压缩数据的传输时间 小于压缩数据的传输时问,在同步的数据量较大时采 用此种压缩方式进行数据传输,才会减少用户进行数 据同步的操作时间,加快数据同步的速度。 2.4数据传输格式 采用.NET的Remoting技术时,可以有两种网络 传输方式进行选择:一种是XML(可扩展置标语言); 另一种是二进制方式。 a)XML传输格式。XML为信息建模提供了许多 功能强大的能力。作为一种数据库格式,XML有一些 优势,例如,它是自描述的、可交换的、能够以树形或图 形结构描述数据。它也有缺点,由于要对它进行解析 和文本转换,所以数据访问速度较慢。因此,在数据量 小、用户少和性能要求不太高的环境下,可以使用 XML文档,但是XML格式的文件却不适用于用户量 大、数据集成度高以及性能要求高的作业环境。 b)二进制数据传输。使用二进制格式序列化消 息对象具有更高的传输性能,因为采用二进制进行传 输的数据传到另一端时不需要进行解析就可以直接被 计算机识别,而采用xML传输时不仅文件内容大,而 且传输到另一端时还要转化成计算机识别的二进制格 式,因此,采用二进制格式占用网络资源会更少,数据 49. 计算机与自动化技术· 电子工叠师 2008年12月 在同步时传输得会更快,而且省去了格式转化所需的 3.2异构数据库模式的转换 时间,并且,二进制方式具有更好的性能。 模式转换双方的信息载体是更新事务日志表和标 3异构数据库的数据同步 准事务日志表,转换作业集中在各子服务器。模式转 换的映射法则是基于数据表在星形结构的基站点和从 在信息系统中,由于各子系统是由不同的软件开 站点的不同的模式定义建立的,在数据库环境中,把对 发商独立设计的,采用的数据库管理工具也不尽相同, 关系的映射分解为对关系属性的映射,是模式转换过 因此要在异构分布式数据库之间和不同表结构之间透 程的关键。表的模式信息包含了定义表的所有成分, 明地进行数据复制,需屏蔽各站点的出版表之间的模 如列属性、键值、约束条件等。模式转换的元素主要是 式差异。 字段列和主键。 数据库管理系统的数据复制方案见表1。 4结束语 表1 各种数据库管理系统的数据复制方案对比表 数据同步问题是目前信息管理中经常面I临的问 题,传统的数据库复制技术存在很多的弊端,目前的一 些数据同步组件的开发研究还不成熟,不能满足用户 的多样性的需求,诸多问题都要通过我们的思考探索 去解决,例如:异构数据库的模式统一问题、增量同步 中数据重复问题、数据打包格式与方法问题、传输中断 目前解决异构模式下的数据交换的成熟方法是将 后的续传问题等,简言之,就是同步中的效率、可靠性。 这些需要通过大量的实践去不断探索。 数据转换成XML格式,并建立该格式下的模式转换规 则。但是,由于该技术不是以事务为基础,复制后的副 参考文献 本缺乏基本的关系完整性。因此,不同结构的表模式 [1]张良,佟俐鹃.异构数据库集成中数据传输问题的研究 的差异分析和转换是异构数据库同步的关键。 [J].计算机应用研究,2004(11):65-66. 3.1模式差异及解决方法 [2]Managing Distributed Data throughout the Enterprise[M]. 由于在异构分布式数据库系统环境中存在着不同 Adaptec Inc,2005. 的表结构,数据表间的模式差异主要表现为数据在结 [3]邵佩英.分布式数据库系统及应用[M].北京:科学出版 构上的差异、数据表示上的差异和元组标识的差异。 社,2005. 差异解决方法关键技术有: [4]盖九宇,张忠能,肖鹤.分布式数据库数据复制技术的分析 a)求得属性列中所包含属性的个数,得到的是表 与应用[J].计算机应用与软件,2005,22(7):36-38,41. 中关键字属性的个数; [5]蒋敏,董亚波,鲁东明.一种基于Agent的数据同步方法 b)按索引取得属性列中的属性; [J].江南大学学报:自然科学版,2005,4(6):598-601, 605. C)属性的结构上要相同,表示属性列中所有属性 在结构上相同。 景慎艳(1976.),女,讲师,主要研究方向为数据库、软件工 程等。 Data Synchr0nizati0n Technology on Distributed Database and Its Application JING Shenyan (Liaoning University of International Business and Economics,Dalian 1 16052,China) Abstract:With the application of data synchronization increasingly widespread,a detailed study of the methods and strategies of distributed data synchronization is made.A comparative study of the copy program- mer of SQL Server,Oracle and other database is also made.The focus is on data consistency,security,high efficiency,and other needs in the process of data synchronization.A data synchronization method using binary incremental approach and two—way transmission is described.Some remarks about the conversion of heteroge- neous database are also provided. Keywords:data synchronization;distirbuted database;incremental synchronization;data compression 50·