现有的数据流管理系统:
数据流管理主要从系统的角度针对不同的应用背景,重点研究数据流的查询语言、查询模型、操作调度、资源管理、负载控制等与管理系统密切相关的问题。由于传统的数据库管理系统难以支持数据流应用中亟需的“连续查询”需求,因此,国内外许多大学和研究机构依托数据库管理系统的设计思路,针对具体行业背景,相继提出了多种数据流模型,并研发了一些具有代表性的数据流管理系统,典型的有:斯坦福大学的STREAM,加州大学伯克利分校的TelegraphCQ,AT&T实验室的Gigascope,布朗大学、布兰蒂斯大学和麻省理工大学的Aurora&Borealis等。由于数据流管理方面的研究通常跟具体的数据流管理系统紧密相关,从而将以这些典型的数据流管理系统为主线来介绍数据流管理的相关研究工作。
STREAM(Stanford Stream Data Manager):它是斯坦福大学推出的一个通用型数据流原型系统,以关系型数据为基础设计了一种支持数据流的连续查询语言:CQL(Continuous Query Language),该语言可同时支持传统的关系操作和流操作。STREAM系统的设计目标是在资源紧张的情况下能有效地给出连续近似的查询结果。其设计重心为针对连续、时变数据流的管理与近似查询处理,主要的研究内容包括:查询语言、操作调度、资源管理、负载控制等。该系统能适应海量、快速和易变的数据流环境,具有非常好的连续查询能力。
TelegraphCQ:该原型系统由加州大学伯克利分校开发,建立在开源数据库PostgreSQL之上。它采用工作流系统的设计思想,查询处理上基于主动查询处理引擎,并通过元组路由和分组过滤技术实现了多查询操作算子的共享。其重点考虑自适应处理和基于流水线的动态操作调度等。该系统能针对历史流数据进行查询,也支持实时监测与分析,并已经在网络管理等方面得到了一定的应用。
Aurora&Borealis:Aurora系统是布朗大学、布兰蒂斯大学和麻省理工大学联合开发的一个实时数据流系统,该系统主要针对三类应用:实时监控应用、数据归档型应用和包含对历史与当前数据处理的应用。该系统偏重于实时处理,如:QoS管理,内存感知的操作调度,基于语义的负载控制,以及支持归档的存储管理等。随后,这三个大学又联合推出了第二代分布数据流管理系统:Borealis。该系统以上代Aurora系统为核心,重点考虑多节点分布数据流相关的特定问题,主要包括:分布操作管理、分布流负载控制、容错、自配置与高可用管理等。
Gigascope:它是AT&T实验室开发的高性能数据流管理系统,主要用于分布高速网络数据流的监控。该系统采用两层查询结构,能够根据流速和可用资源选择最恰当的处理策略。它已经运行在AT&T实验室的IP主干网上,是其网络应用层监控的重要部分,可用于流量分析、性能监控和调试、路由配置、网络攻击和入侵检测等应用中,并取得了很好的效果。