分布式数据库数据复制技术
2019-01-30许伟涛
文/许伟涛
分布式数据库系统的结构模式是一种抽象为4层的结构模式,对数据复制技术的应用是其性能能够得到全面提升的关键,也是分布式数据库系统的重要特点之一。
1 数据复制的特点
在实际应用过程中,数据复制主要有以下几个方面的特点:
(1)数据复制具有自主性特点,当用户处于离线状态时,也能够处理数据副本,只需要在连接时对数据进行同步更新即可。
(2)数据复制实现了将OLTP应用程序和其他需要读取大量数据的应用程序进行区分,从而有效防止系统拥堵的问题,有效改善了数据库系统的性能。
(3)数据复制还具有缩放性特点,能够根据实际要求,对浏览的数据进行缩放,还能够将部分数据库浏览权限对网络用户开放。
(4)数据复制技术还具有汇总性特点,能够通过数据汇总和读取,进一步完善数据库的性能。
2 数据复制的运行机制
2.1 复制原理
复制服务的运行机制主要包括发布服务器产生若干个项目进行发布,然后由订阅者根据其具体的订阅内容进行接收,在这一过程中,发布服务器除了能够直接发布之外,还能够利用分发服务器做代理发行业务。在整个复制过程中,其主要复制组件和服务主要包括发布、分发和订阅服务器、发布、项目以及订阅等等。
在复制运行机制中,复制代理组件的存中,主要是针对发布和订阅服务器之间的数据进行复制和移动,从而满足数据库系统中的复制要求。在整个复制过程中,第一步进行自定义应用程序,从而对数据库中的数据进行修改,然后按照设定好的规则进行发布,再由复制代理组件向分发或订阅服务器进行分发。分发服务器接收到数据后,也会发布给订阅服务器,以保持二者的一致性。
2.2 复制的类型
图1:分布式数据库系统结构
由SQL Server2005提供的复制类主要有三种,分别是事务性复制、快照复制以及合并复制等等。所谓事务性复制就是指从发布数据库对象和数据快照部分,主要应用于订阅服务器,在发布内部需要保持一致性。通常情况下,发生数据更改是不会传回发布服务器的,所以事务性发布的订阅服务器为只读模式。
合并复制也是从发布数据库对象和数据快照开始的,其后续能够跟踪发布和订阅服务器中数据更改、架构修改等变化,其跟踪功能主要是由触发器提供的。
快照复制只适用于发生机率较小,但需要大量更改数据的情况下。因此其应用范围不及事务性复制及合并复制。
2.3 复制代理
所谓复制代理,是指数据复制运行机制中,会应用大量的代理任务,例如执行独立程序、分发数据关联等等。其主要是由快照、日志读取、分发、合并、队列读取等多种代理方式构成的。复制代理主要内容包括SQL Server代理安排的相关任务,而且只有在以SQL Server代理环境作为基础,才能够有效保证这些任务的正常运行。
2.4 同步复制与异步复制
要对数据是同步复制还是异步复制进行准确的判断,其决定性因素就是更新时间。同步复制就是指一种实时存取和更新的技术,能够使数据和副本保持一致,其容错性较高,还能够简化系统,降低系统的复杂性。但同步复制本身也具有一定的缺点,对站点规模要求高,通信带宽耗费大,容易发生死锁问题等等。
异步复制是一种对数据存取和传播进行延迟的技术,这种技术的优点是性能良好、通信量低、可用性强,而且还有效缩短了系统响应时间。此外,异步复制技术对网络和硬件资源等方面的要求不高,和同步复制相比其适用范围更广泛,有利于推广和普及。
图2:数据由PC客端端发布到服务器过程
3 结束语
随着计算机网络技术的发展,分布式数据库系统将在更多的领域中得到应用,对数据库的应用要求越来越高。因此,要不断加强对复制技术的研究,以提高分布式数据库系统性能,满足各个领域的发展建设需求。