APP下载

维护分布式数据库中数据一致性的方法

2009-04-09杨通国

新媒体研究 2009年5期

杨通国

[摘要]数据一致性是分布式数据库系统领域中的一个主要研究方向。在介绍基本概念的基础上,重点研究针对实时性和场地自治性的不同要求所采取的维护数据一致性的方法。

[关键词]数据一致性 分布式数据库 数据复制同步

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0310062-01

一、引言

随着计算机应用技术的不断推广和使用的不断深入,人们对计算机的依赖越来越强,同时对计算机的要求也越来越高。传统的单计算机系统在功能和性能上已经不能满足人们的需要,由网络连接多台计算机系统所构成的分布式系统已经成为当今的主流系统。在数据库领域中,分布式数据库(DDBS,Distributed Database System)技术已成为一个主要研究方向。

由于分布式数据库系统符合当今信息系统应用的需求,符合当今企业组织的管理思想和管理方式,因此分布式数据库得到了广泛的应用,同时,业内对分布式数据库系统的研究和开发变得更加活跃。在分布式数据库中,出于应用或安全等方面的原因,会使同一个数据块重复出现在多个结点中,这样就出现了数据冗余。如果各结点的数据库平台不一定相同,如何以最小的开销保持数据库系统中数据的一致性是分布式系统必须解决的问题。

二、基本概念

(一)分布式数据库系统

分布式数据库系统,通俗地说,就是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)联接起来,共同组成一个统一的数据库系统[1]。因此,分布式数据库系统可以看成是计算机网络与数据库系统的有机结合,如图2-1所示:

在分布式数据库系统中,被计算机网络联结的每个逻辑单位,称为站点(Site)或结点(Node)。所谓地理位置分散是指各站点分散在不同的地方,大可为不同国家,小可为同一建筑物中的不同位置。所谓逻辑上集中是指各站点之间不是互不相关的,它们是一个逻辑整体,并由一个统一的数据库管理系统进行管理,这个数据库管理系统称为分布式数据库管理系统(Distributed Database Management System,简称DDBMS)。

(二)事务

所谓“事务”是一系列由单个用户或应用程序提交的数据库操作,这些操作是一个不可分割的整体[2]。即要么完全的执行,要么完全不执行。事务将数据库从一个一致性状态转变到另一个一致性状态。即事务执行之前和事务执行之后,数据库都处于一致性状态。但这种一致性在事务的执行过程中将不被保证。

三、数据一致性的维护方法

根据数据实时性和场地自治性的不同要求,数据一致性的维护方法可以分为:

1.分布式事务处理:具有最小的场地自治性和最小的数据一致性延迟。采用两阶段事务处理提交机制,确保数据更改要么全部施加于所有副本集合的成员上,要么全部撤消,各个场点数据状态回到更改前的状态。

2.事务级数据复制一致性:具有较小的场地自治性和较小的数据一致性延迟。这种方式分为两种:允许数据订阅者更新数据的事务级数据复制同步,在这种机制下,不仅允许数据出版者对所出版数据进行更新,同时允许数据订阅者对订阅的数据进行更新;不允许数据订阅者更新数据的事务级数据复制同步,在这种机制下,仅允许数据出版者对所出版数据进行更新,而数据订阅者场点仅允许被动接受订阅的数据。

3.静态数据复制一致性:具有较高的场地自治性和较高的数据一致性延迟。这种方式分为两种:允许数据订阅者更新数据的静态数据复制同步,在这种机制下,不仅允许数据出版者对所出版数据进行更新,同时允许数据订阅者对订阅的数据进行更新;不允许数据订阅者更新数据的静态数据复制同步,在这种机制下,仅允许数据出版者对所出版数据进行更新,而数据订阅者场点仅允许被动接受订阅的数据。

4.数据合并复制一致性:具有最高的场地自治性和最高的数据一致性延迟。在这种机制下,不仅允许数据出版者对所出版数据进行更新,同时允许数据订阅者对订阅的数据进行更新。根据复制的内容又可以分为两大类:

表复制技术,表复制技术采用把某一时刻源数据的表的内容通过网络发送到复制的副本,因为复制的内容是表的某一时刻的状态,所以又形象地称为表快照,多长时间进行一次表快照的复制,要根据实际的需求和环境决定[3]。表快照的复制是基于表的复制。由于不是以事务为基础,所以副本缺乏基本的关系完整性。

事务复制技术:事务复制技术是异步地把修改源数据的事务通过网络发送到复制的副本,复制可以是修改的表项事务或事务日志。复制的时间可根据应用需求、网络情况和站点情况而确定。副本接收到复制内容后,要重复一遍接收到的事务操作来实现与数据源的一致。

四、小结

总之,随着网络技术的飞速发展,分布式数据库系统的广泛应用,数据复制愈显重要。特别是对于分布式数据库的数据一致性维护,在需求分析时对复制对象、复制类型、冲突解决方法等都必须有良好的规划,在实现复制时必须按复制流程进行配置。

参考文献:

[1]潘群华、吴秋云、陈宏盛,分布式数据库系统中数据一致性维护方法[J].计算机工程,2002,(09):12-15.

[2]林怀忠、陈纯、吴震华,数据复制与一致性[J].计算机工程与应用,2001,(20):44-47.

[3]勒敏、刘建辉,分布式数据库系统数据一致性维护方法[J].科技广场,2008,(03):31-33.