传统的OLAP技术,在进行OLAP分析时不能再设置数据的过滤条件,只能在分析的维度上选择相应的值范围作为分析条件。实际上,这样的分析过于简单,不能满足应用需求。另外,目前的OLAP技术不能很好地支持复杂的聚集查询(例如分位数、众数)。另外传统的并行OLAP技术存在负载均衡困难以及系统伸缩性差等问题。而基于Hadoop的并行处理模式可伸缩性好且负载均衡容易。本项目提出了用于分布式并行处理的OLAP模型,直方图立方HistCube。基于此模型,研究基于Hadoop架构的解决上述问题的分布式并行OLAP技术。研究内容包括(1)多维聚集查询通用模型;(2)HistCube的计算、存储和更新技术;(3)基于HistCube模型的支持OLAP操作的聚集查询与优化算法;(4)HistCube的分布式并行索引与优化技术。目标是研究能够解决上述问题的用于OLAP的通用模型和高效聚集查询算法及其相关技术。
OLAP;Aggregation computing;Statistical histogram;Hadoop;Condition filtering
传统的OLAP技术,在进行OLAP分析时不能再设置数据的过滤条件,只能在分析的维度上选择相应的值范围作为分析条件。实际上,这样的分析过于简单,不能满足应用需求。另外,目前的OLAP技术不能很好地支持复杂的聚集查询(例如分位数、众数)。另外传统的并行OLAP技术存在负载均衡困难以及系统伸缩性差等问题。而基于Hadoop的并行处理模式可伸缩性好且负载均衡容易。本项目提出了一个面向多维聚集查询的通用模型。并从一下几点进行重点研究(1)多维聚集查询通用模型的研究,给出了利用统计直方图作为统计存储的中间结果,这样可以解决上面的几个问题,同时可以回答多种类型的聚集查询;(2)基于Hadoop的HistCube的计算、存储和更新技术,利用Hadoop环境,设计了3种快速计算封闭数据立方的算法,例如,基本的封闭直方图立方计算算法、MRC-Cubing算法、改进的MRC-Cubing算法,为了降低数据立方需要很大的存储空间的问题,我们设计了多种数据压缩方法,例如从算法内部的直方图表述方式、从直方图的存储文件的压缩等方面;大数据需要不断的追加新数据,因此提出了数据立方的更新策略,即主立方和子立方共存,适当时机进行重新计算,而非增量更新;(3)基于Hadoop的HistCube上多种聚集查询算法研究我们在查询结果的基础上,设计了多种聚集函数算子,包括汇总(sum)、均值(average)、方差(variance)、r-分位数(r-quantile)、众数(mode)、Topk等;同时研究了基于HBase存储数据立方结果,以及基于Impala完成查询的过程;(4)基于Hadoop的HistCube上的索引与优化技术为了加快在数据立方上的聚集查询速度,设计针对HDFS文件系统和HBase的两种索引文件;(5)为了跟好地在Hadoop环境下进行研究和开发以及绿色查询计算,提出了云计算环境下的能耗模型以及能耗的测量和计算方法,设计了云计算环境下大数据处理的测试基准,提出了Web应用SaaS化的自动化方法,即设计了将已有应用SaaS化的,命令集,自动完成Web应用的SaaS化;(6)在MapReduce模型之外,我们研究了基于BSP模型的大(图)数据迭代计算中的关键技术问题和原型系统的研制,提出了应用不同场合的三种图数据划分方法,即BHP算法、EC-VHP和OnFly算法。