论文部分内容阅读
随着科技的发展,特别是传感器网络、互联网等技术的广泛应用,数据流出现在越来越多的应用系统中,于是,数据流管理系统的构建、优化等技术得到密切关注。并且,由于应用系统对数据流的处理要求越来越高,使得如何提高数据流管理系统的查询处理效率变得越来越重要。
本文从内存存储模型角度研究提高数据流管理系统查询效率的技术与方法,并对数据流管理系统的设计与实现进行了探索。已有研究表明,硬件技术的发展,使内存中数据的组织方式成为现代数据库系统的主要性能瓶颈之一。目前一些比较成熟的数据流管理系统(如Stanford大学的STREAM),大都沿用传统的多元存储模型(N-ary Storage Model,NSM)在内存中存储数据。实际上,多元存储模型的缓存利用率不高,在处理大量、快速、时变的数据流时,影响查询的响应速度。本文提出一种综合运用页内属性划分策略和存储页首时间与偏移的数据流页面存储模型MUTO(Model Using Time Offset),不仅可以提高缓存利用率,加快查询的响应速度,还可以优化基于时间戳的数据操作。基于MUTO存储模型,本文还设计了查询、插入等相关数据流操作算法。此外,在诸如无线传感器网络、股票交易分析系统等数据流应用中,分布在各处的数据源按周期生成元组,然后加上应用时间戳并将其发送到数据流管理系统,为保证持续查询语义的正确性,查询处理引擎一般按照时间戳增序来处理元组,然而,由于数据源处的时钟不同步、网络延迟、传输频道等因素,数据流元组有时不能按照发送时间戳的增序进行排列,从而产生乱序问题。为了解决这种乱序问题,本文设计一个由多适配器组成的输入管理器(Input Manager),以缓存乱序数据流,并可将乱序数据流调整成增序后发送给查询处理引擎。
本文以连续查询语言CQL为参考模型,设计了支持PAX存储模型(A.Ailamaki提出)和MUTO页面存储模型(本文提出)的连续查询语言MStreamCQL;在STREAM原型系统上,分别实现了基于PAX的数据流管理系统PStream和基于MUTO的带有乱序数据流输入管理器的数据流管理系统原型MStream;并以环境监测为背景,分别对STREAM,PStream和MStream进行测试和比较。实验表明,MStream在一般问题的查询上性能较好,在基于时间戳的查询和计算上,性能优于STREAM和PStream。