分布式数据库数据同步技术研究

  • 来源:中文信息
  • 关键字:分布式数据库,数据同步
  • 发布时间:2015-01-06 13:41

  摘 要: 由于分析式数据库同步技术应用越来越广泛,因此相关的研究也备受人们关注。本文主要是从分布式数据库同步技术的流程,以及数据同步的方法来对其进行阐述,以供大家参考。

  关键词:分布式数据库 同步技术 研究

  中图分类号:TP311 文献标识码:A 文章编号:1003-9082(2015)01-0004-01

  一、前言

  经济逐步发展,企业的数量和规模都在不断增多,每个企业在各地都有自己的子公司,为了能够使不同的公司运用相同的数据,就要采取数据库同步技术来解决。但是,因为其操作复杂,对网络以及系统的依赖性比较高,其运用时经常出现各种问题。

  二、分布式数据库同步技术概述

  1.分布式数据库的定义以及特征

  分布式数据库又称DDB,其是Distributed Database的英文简称,它是一个数据库的集合,该集合包括计算机网络当中的每一个场地以及节点上面的数据库。分布式数据库有两大特点,即分布性和逻辑的协调性相统一。分布性是指所有的数据不是仅仅存放在单个的计算机的储存器上,而是根据整体的需要,将数据进行划分,形成具有一定结构的数据子集,然后将其储存在各个场所中;逻辑协调性就是指分布在不同场所的数据子集,其相互之间互相制约,使其形成一个逻辑上的整体。

  2.数据同步技术

  数据同步技术利用的是分布式数据库,使数据库中位于不同场所的数据实现同步更新,从而实现数据库的分布式处理应用。该项技术可以大大地提高用户使用和处理数据的透明程度,使每一个站点的自治性也有所提高。

  三、技术同步的过程

  根据数据同步流程,按照典型的三步数据同步过程,采用基于XML与.NET Removing的分布式数据同步模型,该数据同步模型采用松散一致性的单向数据同步方式,同步时由源端以推式方式进行。数据同步系统由三个部分组成,分别是更新差异数据模块、捕获差异数据模块以及分发差异数据。

  该模型主要适用的是具有触发器功能的数据库管理系统,其是在Microsoft.NET平台上面构建而成的,它通过触发器来讲源数据库中的数据变化情况进行捕获,其数据变化的差异称作为差异数据,差异数据会在源端进行储存,然后可以通过ADO.NET将差异数据转化为XML同步文档,进而利用它。NET Removing分布式对象技术调用远程对象的方法传递经加密压缩的同步文档,差异数据在目的端还原为DML语句并最终加载于目标数据库,最后可以实现源数据以及目标数据库的一致性。

  1.差异数据的捕获

  自从上一次同步直到现在的每个节点数据变化的情况,都需要用差异数据捕获模板来对其进行捕获,这样每一次同步时,数据量就会减少,以此来提高数据同步的效率,使网络带宽的消耗量也降低。

  2.差异数据的分发

  差异数据分发的模块主要功能是先形成一个相对应的数据同步文档,并且能够保证正在同步的服务器之间,差异数据能够安全的传输。通过基于.NET Removing远程数据操作类建立与源数据库的连接,利用ADO.NET将差异数据表关系模式映射为XML Schema模式定义文件,然后将差异数据表中的数据按XML Schema格式要求填充为XML同步文档。下级服务器应用程序利用.NET Removing分布式对象技术调用远程对象,即各种数据获取类,然后同步文档会根据事先就定义好的信道,将其传输到上一级的服务器当中。

  3.差异数据的同步

  在上一级的服务器收到了下一级服务器所传输的文件的时候,需要对其进行相关的处理,这样才可以使同步的数据能够在上级服务器的目标数据库得到应用。

  四、数据同步技术的方案

  1.基于Oracle行级保护策略的数据同步更新机制

  1.1 Oracle行级保护的策略

  Oracle8.1.6版本开始支持在数据库内定义行级安全性.通过建立安全策略和应用程序context,系统可以在用户和应用程序访问数据库时透明地实现对表的行级保护。

  安全性的策略是给对象所附加的一系列规则,比如视图或者表格,它可以规定谁有资格查看对象,可以查看哪些内容,以及这些行能否被删除或者更新。

  1.2该方案的优点以及缺点

  优点:第一,该方案可以保证数据系统在整体上可以保证统一性;第二,相比于异步更新的方法,这个方案在更新中不会出现更新冲突的现象;第三,可以防止没有被授权的用户随意对数据进行修改。但是,其也有一些缺点,比如对系统以及网络的可用性依赖过多,如果网络或者系统一点出现了故障,那么就无法进行任何的更新操作,尤其是在进行多级出发的时候,中间任何环节数据存储,一旦出现了失败,那么所有的更新都宣告无效。

  1.3适用的场所

  该方案适用的数据库是具有总表和分表结构的分布式数据库系统。比如,可以在上一级的数据库的总表当中,通过合并行的方法,来存放下一级的数据,这种方案,上级和下级系统的表结构是一样的。

  2.基于Oracle只读实体化视图的数据异步更新机制

  如果计算机系统对数据实时同步的要求并不是很高的话,我们就可以采用异步更新的方法。这样,可以使更新对网络以及系统的依赖程度大大下降,这样即使系统、网络出现了问题,仍然可以保证分表的数据进行更新,然后通过某一种机制保证在以后的一个时间当中,能够更新因为网络或者系统问题,未能更新的数据。

  2.1 Oracle只读实体化视图

  实体化视图是在一个瞬间将目标主体的部分或者整体进行截取。实体化视图可以提供对源自主体站点的表数据的只读访问,即只读实体化视图。应用程序查询数据可以通过只读实体化视图,不论网络能不能用,都不需要通过该网络来访问主体。不过如果该程序是系统范围内的,那么就一定要先访问主体站点上面的数据,才可以进行下一步的数据操纵语言来更改。

  2.2该方案的优点以及缺点

  使用该方案更新数据,可以大大降低其对系统和网络的依赖性,同时还支持附在的实体化视图。但是,该方案同样存在着缺点:首先,在更新的过程中,会产生冲突的情况,这时候就需要检查冲突,并且解决问题,这就会增加工作难度以及开销;其次,Oracle的制度实体化视图进行的是是异步数据更新,这就决定了该系统不能实现实时的数据传输。如果系统当中临时有什么需要,要及时向上一级汇报的时候,就需要提供一个实时的数据更新机制;最后,该方案对网络以及数据库的安全性有很高的要求。

  2.3使用场合

  适用于信息分发。例如,考虑一个大型百货公司连锁店的操作。这种情况下,需要在各个零售点保持商品的价格信息,并且对这些信息可用度和相对一致性有较高的要求。为了达到这个目的,可以在各个零售点存储一个商品价格的副本,让它每晚根据主价格表进行刷新。

  五、结束语

  如今,分布式数据库数据同步技术在各个领域都有广泛的应用,对其研究也不断增多。在考虑选用何种分布式数据库应用系统的时候,应当根据当下的网络情况,对象的具体要求和性质来选择,才可以使该系统的功能得到充分发挥。

  参考文献

  [1]宋俊苏.分布式数据库在高职院校办公自动化管理系统中的应用[J]电脑知识与技术, 2009,08

  文/武兴

关注读览天下微信, 100万篇深度好文, 等你来看……