版权归原作者所有,如有侵权,请联系我们

[科普中国]-分布式数据处理系统

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

背景介绍

科技的进步和网络技术的日新月异,增加了数据处理的难度,大量的实时数据流不断地冲击着应用系统的处理极限,要求应用系统能够做出及时的反应,并且还要提高准确性,这些挑战对于传统的数据库技术相当棘手。分布式数据处理系统(DBMS)的适用范围有限,处理静态的小规模数据结构还可以,面对大型的网络数据流,DBMS体现出来的弊端较为明显,它没有能力应对动态的数据流,更不可能形成随时间而变化的查询结果,它在大规模的网络应用环境中的作用受到限制,存在技术性障碍。所以开发新的数据模型是目前网络应用系统发展的关键环节。分布式数据模型引起研究者的关注,它是专门的数据流结构模型,可以将产生的数据结构应用于分布式环境。1

要想在海量数据中准确、快速的寻找到答案,需要耗费大量的时间、空间资源,对系统的性能也有更高的要求。虽然外部存储大量数据集的技术已经发展的比较成熟,并在各大领域得到广泛应用,但它不支持连续查询,而且查询效率低,并不适用于数据流应用,无法达到实时性的要求。为了实现高速处理大规模数据,往往要求系统的响应时间短、处理速度快。在进行数据处理时,系统仍然在进行工作,仍有大量数据输入进来。为了达到实时性的要求,必须尽量缩短处理时间,提高响应效率。如果处理速度不够,会有大量数据堆积,造成系统拥塞或停滞。因此,设计一种分布式数据处理系统,提高查询处理速度和系统的负载优化是一件具有现实意义的事情。1

研究现状近几年,随着数字化信息技术的发展,分布式数据流处理技术迅猛发展,大量专家学者和研究机构致力于分布式数据流处理技术的研究,学术界和产业界充分认识到分布式数据流处理技术具有广阔的应用前景和发展空间。1

北京大学、哈尔滨工业大学走在了分布式数据处理系统的前沿,引领了分布式数据处理技术的发展潮流。北京大学数据库实验室研制并推出了原型阿尔戈斯(Argus)系统,具有很强的兼容性和可移植性,既能作为处理数据流的通用系统,也可以移植到其他操作系统上提供数据库的服务。与此同时,他们基于该系统开发了一套流查询语言,与结构化查询语言十分相似,能够轻松实现查询数据流的功能。国内外大量科研机构和专家学者开始了分布式数据处理系统的研究,创建了与数据流管理相关的体系结构和系统模型,用以满足各大企业对新型数据管理的需求。1

需求分析DDSMS所处理的是一种随时间变化的数据信息序列,也就是数据流,它的特点是:连续的、潜在的、无限的、快速的,而且传统的DDSMS在实际处理过程中,这种数据序列具有到达顺序不可控、数据的速率不稳定、数据量巨大等特点。这些特点使得设计一个DDSMS需要具有以下的功能:1

(1)由于物理存储空间的限制和处理效率的要求,对数据流进行在线处理时,一般只扫描数据一遍;

(2)在一定的时间内,能够对数据进行排序,使无序变为有序。

(3)对用户而言,传统的DDSMS的程序设计使用户对数据的查询具有很好的实时性;

(4)传统的DDSMS在处理数据中,当遇到数据流的数据量巨大已超过系统的承载能力时,随机或者有选择地清除一些数据以缓解系统数据的膨胀;

(5)传统的DDSMS对异常数据的处理也提出了一些要求,首先要迅速,同时要合乎实时的要求;

(6)及时的数据用户的接口能够为用户提供方便的数据信息查询。

系统结构如图对DDSMS提供了一个可供参考的抽象系统结构。1

通过取样的方法控制数据输入的流量可以输入监听器。查询库可以处理共享,它存储系统的连续查询,连续查询已经在系统中注册。窗口查询的临时工作区,关于每个数据源的物理位置等静态存储这三个部分构成数据存储。在当前数据流状态上,既可以一次查询也可以连续查询。输入的监控器和查询的处理器互相联系,其结果存储在临时缓存中或通过流输给用户,而且通过变化数据输入速率可以对查询计划进行优化。

这个系统可以分为下面两个部分:

(1)服务器方面:服务器访问接口可以处理客户和服务器相互的所有命令和数据,服务器访问的接口被称作是外界和服务器的纽带。服务器等待连接用户,控制器监听特定的端口访问接口,通过用户给的命令、处理结果或者数据流,最终返回查询的结果。

(2)终端接口:终端的接口是为用户操作提供的接口,屏蔽了其中的作用过程,控制命令和查询接口构成了终端的接口,DLL在终端中是终端接口模块。

与数据库管理系统的区别如果我们把数据集看作一个特殊的数据流,那么可以把DDSMS定义为一个传统数据库系统的扩展。下面我们先对DDSMS和DBMS进行下归纳比较。传统数据库管理系统(DBMS)与DDSMS在功能和性能方面的几种差异:1

(1)基本的计算模型不相符。传统的数据库管理系统假定DBMS 被动地存储数据单元,而用户主动发起查询等操作,这是个用户主动,DBMS被动的模型。而DDSMS从外部数据源获取数据,当系统检测到符合查询条件的数据时将数据返回给用户,这是个DDSMS主动,用户被动的模型。

(2)DBMS的查询是精确的查询,目前还没有DBMS提供内建的功能支持近似查询。而DDSMS由于数据量巨大并且快速变化,在很多时候只能提供近似的查询结果。

(3)DBMS提供的是一次查询,一次查询获得查询结果,而DDSMS是连续查询,只要用户注册了一个查询,并且没有注销这个查询,那么这个查询将一直有效,DDSMS向用户不断地返回查询结果。

(4)DBMS通常不考虑与事务相关联的时间和空间的限制,其调度与处理决策不考虑数据的各种时间特性,其系统的设计指标并不强调实时性和查询服务质量的自适应性,而实时性和自适应性正好是数据流应用所必需的。