APP下载

海量数据的一致性研究

2016-11-12赵雪章

无线互联科技 2016年19期
关键词:副本海量事务

赵雪章

(佛山职业技术学院,广东 佛山 528137)

海量数据的一致性研究

赵雪章

(佛山职业技术学院,广东 佛山 528137)

实现海量数据管理的关键技术之一是数据复制,维护多节点副本间数据的一致性是提高分布式数据库的容错能力与性能的重要保证。文章在介绍数据一致性基本理论和比较分析各种数据一致性维护方法的基础上,对海量数据一致性维护过程中出现的更新传播模型、更新传播内容及解决更新冲突等进行分析,并提出了相应的解决办法。

海量数据;数据一致性;数据维护

1 海量数据存储产生背景

海量数据的支撑是诸多互联网应用必不可少的条件和前提,并且要求海量数据保持高度的完备性和一致性,需要研究合适的分布存储机制,特别是对分布式存储环境下数据一致性维护的研究,以满足海量数据处理需求,大幅提升计算速度和准确度。

一般分布式存储机制通常采用结构化数据库管理原数据,由分散多处的独立设备和结点组成存储集群和存储网络,设计这些系统结构首先考虑可扩展性,避免存储任务承担过高的负荷,保证整个系统的工作效率和可靠程度,必然在数据一致性方面有一定程度的牺牲和妥协,但数据是动态变化的,用户在每个副本结点都有可能更新访问到数据,必须对同一数据对象的所有副本进行一致性维护,向外界提供统一的视图。因此研究海量数据存储机制和数据一致性维护,将海量数据分布存储在各地的数据结点,在多结点间实现完备的数据复制处理机制,为复杂运算提供高效可靠的数据支撑,保证数据处理的速度和精度是重要的研究课题。

2 数据一致性维护的基本原理

2.1 数据的一致性

事务处理模型中,各个事务隔离执行能够保证数据从一个一致性状态变成另一个一致性状态,海量数据由一组数据变量D组成,对数据变量d∈D,Dom(d)表示d的域,且包含数据常量、集合、列表、字符串常量等。数据状态将各个数据项d映射到值V,V∈Dom(d)。一个数据项状态DS可以表示成d中数据变量及其值的有序对集:

DS=(d,v):d∈D∧v∈Dom(d),假设(d,v1)∈DS∧(d,v2)∈DS,则v1=v2。即各个数据项在某一时刻具有唯一值。所有可能的数据变量状态的子集被定义成完整性约束,如果一个数据项状态属于该子集,则维护了数据的一致性。

2.2 数据一致性方法比较

数据一致性方法比较,如表1所示。

表1 数据一致性方法的比较

2.2.1 事务控制法

事务控制法通过2PL协议来保证事务执行的可串行性,也就是保证事务执行的一致性调度,及通过两段锁协议来同步更新各副本数据,这对事务执行时间短、数据操作范围窄的情况下有效。但在海量数据环境下2PL协议严重影响事务并发程度,同时,2PC协议对网络资源需求高,会使事务重启或事务持锁时间过长而陷入长期等待状态,难以达成一致性要求。

2.2.2 消息队列法

消息队列法由两个以上的进程间通过共享的系统消息队列来交换信息,通过异步更新实现可靠信息收发的一种机制,进而维护多节点数据的一致,涉及的消息队列有发送、应答、接收和管理队列。当某个节点完成一次数据更新后,将节点数据同步信息及本地应答与管理队列信息存放到消息中,发送到另一节点接收队列中,同时,每个节点上的监控守护程序一旦发现本节点上的接收队列有新消息到达,系统解析消息,并处理本节点上的相应数据副本所解析的更新处理。若数据更新一致则结束;否则根据应答队列的地址发出错信息,节点上的监控守护程序根据收到的错误信息,它将在本节点上试图撤消相应的更新操作。消息队列法有稳定的跨平台性、良好的可扩展移植性。其中稳定的跨平台性能保证消息一经发送,就肯定可以传送到消息接收端,而且保证消息的一次性接收。稳定的可扩展移植性为用户方便地在分布式环境下多节点数据间进程级别上加入复杂更新处理程序,从而满足系统的某些特定功能。

2.2.3 数据复制控制法

数据复制就是将数据从一个节点复制到另一节点,可分为同步复制和异步复制,同步复制是当事务对某一数据复制副本进行了更新时,事务管理系统必须向其他节点的副本数据强制更新信息以保持数据各副本一致,如果节点出现故障,则需要等待节点恢复正常再进行处理,但频繁地数据的更新操作和向系统发送的复制信息,导致内部系统通信量大,整体处理速度受到影响和制约。与同步复制机制不同的是:当某一节点数据发生更新后,系统并不是立即将所有数据副本保持一致,而是在一段时间后再作信息更新,在某一时刻不同节点数据暂不同步。异步复制法主要解决两个问题,即如何捕捉更新数据和选取复制时机。

3 海量数据的一致性维护

一般情况下维护数据一致性的流程:当用户需要更新某一节点的数据对象并提交到系统中时;系统根据维护一致性方法在多个节点副本间进行更新;副本按照相对应的顺序接收更新,然后按照设计的规则更新数据,达到数据一致性。

3.1 更新传播模型

一个系统中多节点数据对象有很多个副本时,会产生传播延迟增加、更新频率、冲突增加等一系列问题,系统的性能受更新传输模型的影响比较大。副本间更新传播的方式有:ditect-mial方式,原理是尽可能地将更新传播到多个副本,这是一种不可靠的组播方式;rumor-mongery方式是将最新的更新从一个副本传播给另一个副本;会话方式是两个副本阶段性地交换自身已知的更新。在这3种传播方式中,anit-entorpy会话有基于拓扑的策略、确定性策略和随机选择策略等几种选择,并且可以解决单主本发布更新遇到的问题,同时anit-entorpy方式可以确保更新被传递到副本图。每个副本确定一个时间向量存储其他副本的更新进度,每次选择进度最慢的副本相互更新。将所有副本形成树形结构,可以通过树中多个节点发布更新,通过“捷径”提高更新传播的速度,比采用组播协议更有效。

3.2 更新传播内容

传输更新日志需要对更新日志进行维护,可以更灵活地操作更新冲突、减少网络开销和计算。日志更新主要依赖的不是数据对象的大小而是更新发生的频率及本身的大小,因此传输日志更新更适宜大型数据对象。同时数据对象本身较大、更新力度很强,也会产生海量的更新日志。当海量数据出现更新日志中,通过对系统更新确认效率的提高,减小本地存储的更新日志历史纪录的长度,来解决在维护更新日志时占用较多的本地存储空间;通过设计日志更新策略,在不造成维护一致性较大影响的条件下,有效取舍日志内容,减少更新传输时增加的网络负载和更新传播延迟,提高系统实用性。由于维护数据副本一致性中需要较多的控制更新传播,需要将更新传播策略与提高传输效率两者结合起来。

3.3 解决更新冲突

系统中在某个时间段或同一时间内,可能存在多个节点副本同时发布多个更新,即使数据副本接收到相同的一致更新,也不能确保达到最终一致,因为副本可能以不同的顺序接收到副本更新,维护一致性协议中必须解决哪些更新被确认及按什么顺序确认的问题,目前解决更新冲突主要有全排序和部分排序。

全排序基本原理是所有节点数据副本必须依据系统设计的相同顺序检测到某次更新操作之前所有的更新,然后再提交这次更新操作。全排序对所有的数据副本分散执行,按照相同的顺序执行更新,最终确保所有数据副本一致。优点是不会放弃任何更新,需要设计严格的排序算法,且不能保存各副本之间更新的相互依赖关系和语义关系,某个副本失效可能阻止所有其他副本前进,可能导致长时间的更新应用延迟。

为克服全排序的缺点,部分排序方法充分利用更新可交换性的特点。解决办法有:数值节点上的加减法运算、文件系统中同目录内多个文件的创建;给每个更新附加上上一次更新的名称;后续更新一定等到所有前更新执行之后。目前大多数系统对节点数据的更新是采用全排序,再适当引入部分排序解决较高更新频率的问题。

4 结语

随着互联网的发展,海量数据逐渐成了数据处理领域的一个主流,维护副本数据一致性也成为一个主攻方向。本文在介绍数据一致性基本理论和比较分析各种数据一致性维护方法的基础上,对维护海量数据一致性过程中出现的更新传播模型、更新传播内容及解决更新冲突等进行分析,并提出了相应的解决办法。下一步将深入研究相应的解决办法,提出解决方案并模拟实验。

[1]卢正鼎,杨玉萍,李长磊,等.多数据库系统中的一致性维护[J].计算机研究与发展,2001(2):158-162.

[2]GANTI V,GEHRKE J,RAMAKRISHNAN R.Mining very large databases[J].Computer,1999(8):38-45.

[3]张斌.虚拟专用网环境中保持数据库一致性的一种方法[J].计算机工程,2000(10):134.

[4]谢梦.一种基于MANET的协作缓存一致性模型及维护机制[D].广州:中山大学,2010.

[5]黄宇.移动自组网环境下协作缓存一致性维护机制研究[D].合肥:中国科学技术大学,2007.

Study of mass data consistency

Zhao Xuezhang

(Foshan Polytechnic,Foshan 528137,China)

Data replication is one of the key technologies to realize mass data management.To maintain data consistency between nodes copy is the important guarantee of improving the tolerance and performance of the distributed database.Based on the introduction of basic theory of data consistency and maintenance method of comparative analysis of all kinds of data consistency,this paper analyzed the update propagation model and the update content of the communication in the process of the consistency maintenance of massive data and resolving the update conflict and so on,then the corresponding solution was proposed.

mass data;data consistency;data maintenance

赵雪章(1972—),男,河南南阳,硕士,副教授;研究方向:图像及数据处理。

猜你喜欢

副本海量事务
基于分布式事务的门架数据处理系统设计与实现
一种傅里叶域海量数据高速谱聚类方法
河湖事务
海量快递垃圾正在“围城”——“绿色快递”势在必行
面向流媒体基于蚁群的副本选择算法①
副本放置中的更新策略及算法*
基于文件系统的分布式海量空间数据高效存储与组织研究
SQLServer自治事务实现方案探析
移动实时环境下的数据一致性研究