一种负载敏感的一种负载敏感的OLAP查询结果缓存管理技术查询结果缓存管理技术
OLAP(On Line Analysis Processing)是数据仓库的典型应用,在数据仓库中频繁并发地执行涉及较大数据量的
OLAP查询时,其查询处理效率易于逐渐降低。缓存技术是一种有效降低OLAP查询处理延时的方法。在现有的
缓存数据存储、淘汰策略等研究工作的基础上,结合OLAP任务的负载特性、OLAP任务的结果集大小等因素对
性能的影响,提出了一种负载敏感的OLAP查询缓存管理技术WorkloadLRU,并实现了一个ROLAP(Relational
OLAP)原型系统。实验证明,WorkloadLRU技术获得了较好的性能提升效果。
摘要摘要:OLAP(On Line Analysis Processing)是
关键词关键词:
0引言引言
随着社会信息化的快速发展,很多行业都积累了大量的数据。为了充分利用这些数据,挖掘其中的价值,数据仓库技术越
来越受到大家的青睐,文献[1、2]介绍了数据仓库技术在具体领域的应用。OLAP(OnLine Analysis Processing)是数据仓
库中最为重要的技术。OLAP可以通过上卷、下钻、切片、切块和旋转等基本操作让用户从多个角度分析数据。根据存储方式
的不同,OLAP具体又可以分为ROLAP、MOLAP和HOLAP。 在这三种实现方式中,ROLAP是最为常见的一种存储方式,其
优点是实现简单。传统的关系型数据库大都支持OLAP查询,但其
缓存是一种利用数据的局部性原理通过存储常用的数据和提高数据读取速度来降低查询响应时间的方法。本文提出了一种
基于负载敏感的OLAP查询缓存管理技术Workload-LRU,该缓存管理技术能够不断地收集用户查询的行为信息并统计缓存数
据信息,包括缓存数据集的大小、各个查询语句的使用频率和数据的访问时间等,并将收集到的信息用于缓存数据的替换策略
上,将可能有利于后续查询的语句及其执行结果保留在缓存中。WorkloadLRU技术将针对数据仓库应用中那些最新的、较频
繁执行的、结果集较小且执行比较耗时的查询语句,尽量将其保留在缓存器中。实验证明,WorkloadLRU技术取得了良好的
效果。
1相关工作相关工作
缓存按不同细粒度可分为语义缓存、页缓存、表缓存、数据库缓存和元组缓存。不同细粒度的缓存各有优势:细粒度越
小,可重复利用的概率越大,但控制越复杂;细粒度越高,查询时连接操作、网络传输和复杂计算所需的时间越长。
目前,国内外已有不少学者在具体的应用环境中对OLAP系统性能提升做过较为深入的研究。文献[3]总结了常用的提
升ROLAP系统性能的方法并提出了缓存和视图相结合的方法。文献[4、5]采用了基于语义缓存的方法降低查询响应时间、
提升查询效率。文献[6、7]介绍了基于数据块的缓存方法,在一定程度上提高了缓存的重复利用率。文献[8]提出了一种
基于代价的缓存替换算法,提升了查询效率。文献[9、10]采用了冷启动和预测管理技术相结合的方式,在缓存中保留最有
利于后续查询的查询语句,在一定程度上提升了OLAP查询效率。但其使用预测管理技术来预测用户查询轨迹的前提是收集到
足够多的用户查询日志。收集的日志越多,其预测的准确率将越准。这种方式并不适用于系统构建之初时的优化,并且其没有
考虑到数据负载情况。
利用缓存的方法确实能在一定程度上提升OLAP的查询效率,但缓存替换算法的好坏是直接影响OLAP查询效率的关键,
文献[11]对常用的缓存替换算法进行了分析总结。
(1)基于LeastRecentlyUsed (LRU)策略的方法:淘汰最长时间未使用的数据。
(2)基于LeastFrequentlyUsed (LFU)策略的方法:淘汰近期最不频繁使用的数据。
(3)基于Size策略的方法:淘汰数据量最大的数据。
(4)基于LRUThreshold策略的方法:使用LRU算法淘汰超过某一阈值的数据。
(5)基于Log(Size)+LRU策略的方法:使用LRU算法淘汰数据量最大的数据。
上述5类缓存技术各有特点,均侧重考虑缓存数据的一个或多个方面的特点(数据大小、访问频繁度和访问时间)。
2基于负载敏感的基于负载敏感的OLAP查询结果缓存设计查询结果缓存设计
2.1ROLAP系统框架系统框架