论文部分内容阅读
数据流中数据是连续不断、无界、速度变化且以一种序列形式到达的。传统数据库管理系统和数据流管理系统(DSMS)之间的主要区别是前者假设每一个关系都存放在硬盘上且每个关系都是有限的。但在DSMS中,代替关系的是无界的数据流和运用在其上的关系操作。于是计算复杂关系操作(如连接)所需要的存储空间同样是无限的。 数据流应用中的查询以连续查询(Continuous Queries)为主。查询一般都是预先注册,而后在DSMS中长期运行。连续查询在数据流管理系统中长期运行并且随着新数据的到来而不断返回查询结果。数据流的应用数据量大,有实时查询处理的要求,并且数据流无限性特点以及系统存储空间限制使得许多查询无法得到精确的查询结果,于是高质量的近似查询结果是唯一的选择。并且在有限的主存环境下处理无界的数据是无法实现的,因此需要在数据流上引入窗口来限制查询处理数据的范围。 目前,数据流的研究领域中有一些数据流原型系统;数据流操作方面也进行了许多研究工作。另外,自从Denning等人在内存访问方式中建立了一种基本的方法来描述局部性特性之后,访问局部性特征就逐渐成为缓存技术研究的热点和重要决定因素。基于局部性特征研究者们提出了很多优越的算法。近年来,随着数据流相关研究的兴起,类似局部性的特征已经在很多“访问”流当中得到证明并给出了局部性特征定义: 1.时间局部性(Temporal Locality): 如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。 2.空间局部性(Spatial Locality): 在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。 受到这点的启发,我们相信如果系统能探测输入数据流所蕴含的访问局部性,那么基于局部性特征的技术能够使很多数据流上的问题得到有效的解决。我们认为这些特性可以被用来提高数据流系统和应用当中的查询处理性能。考虑到数据流在实际应用中逐渐广泛的应用,并且局部性特征的作用越来越明显基于局部性的相关技术的研究是非常必要的。这项研究工作必将会引起更多的重视。 本文首先研究数据流上局部性特征的量化理论及方法,用于准确量化数据流的时间局部性及空间局部性程度。由于局部性相关技术研究比较分散,需要对各种研究当中现有的量化局部性特征的理论及方法进行总结并在数据流环境中加以修正。 然后本文通过对各种文献的研究,提出了数据流查询局部性特征的概念,在实际数据集当中的给出了查询局部性的验证,并由此给出查询局部性引出的一些研究问题及方向。 本文随后讨论了滑动窗口上的范围连接处理问题,提出了一种基于局部特征的数据流滑动窗口的范围连接索引结构,充分考虑了用户提交的查询所带有的局部性特征和数据流本身局部性特征,设计了LAQI(Locality-Aware QueryIndex)结构来提高了范围连接性能。为了充分利用局部性特征,在LAQI基础上提出了LAAQI(Locality-Aware Advance Query Index)结构,并针对周期更新滑动窗口提出了范围连接相应策略。实验结果表明,这些策略相对于传统范围连接方法具有很好的性能。 本文最后提出了带局部性特征的马尔可夫预测模型的缓存管理策略LAMBPM(Locality Aware Markov Based Prediction Model),充分利用了数据流空间局部性和状态转换环境中的马尔可夫预测模型,并在此基础上提出了基于预测风险的缓存淘汰算法。我们在缓存管理时考虑了以往参与连接的历史信息;通过马尔可夫模型预测下一时刻参与连接的元组的区域分布;并在预测区域的分布的条件下,利用贝叶斯公式计算出缓存中每个元组的淘汰风险,并据此提出了在考虑淘汰风险的条件下基于缓存收益的缓存淘汰算法,实验结果证明此算法具有很好的性能。