论文部分内容阅读
随着企业信息系统的完善和积累的数据量的增长,数据分析在现代企业中扮演着越来越重要的角色,OLAP(联机分析处理),主要指的是对数据进行实时的多维查询和分析从而满足决策分析需求,是目前数据分析领域最常用也是最有效的技术。OLAP经过多年的发展,业界已经有许多成熟的系统,无数的企业从OLAP技术获益。但随着我们进入大数据时代,所需要处理分析的数据呈爆炸式增长,传统的OLAP技术在应对海量数据的时候遇到了极大的瓶颈,出现了响应速度过慢或者根本无法处理等严重问题。因此研究新型OLAP技术并设计实现面向海量数据的OLAP系统以满足海量数据上的OLAP需求是业界迫切需要解决的问题。而当前日益成熟的分布式计算框架和分布式存储系统给解决这一问题提供了有效的途径。本论文主要结合当前的理论技术基础对面向海量数据的OLAP技术进行了研究,并且根据研究成果设计实现了一套基于预计算思想的面向海量数据的MOLAP(多维OLAP)原型框架,MOLAP的理念是通过将可能的查询事先预计算出结果生成Cube(数据立方体)以加速查询。针对海量数据的特点,本论文重点研究了以下MOLAP相关内容:1)妥善应对海量数据下预计算的维度灾难问题;2)设计海量数据适用的分布式Cube预计算算法;3)高效地处理预计算面临的数据增长问题;4)合理地应对分析业务需求改变带来的多维模型变化。基于研究成果设计并实现的MOLAP原型框架以Spark为计算框架,以HBase为主要存储组件,以Calcite为基础设计实现了SQL查询引擎,并提供了基于Web的可视化查询分析组件。该框架由于利用了强大的分布式架构,并且实现了高效的Cube预计算算法和Cube优化策略,可以对海量数据进行预计算生成Cube以提供低延迟的SQL查询,提供高效的OLAP分析服务。论文的最后使用业界最常用的SSB测试标准对本原型框架进行了测试,重点测试了Cube的预计算速度和存储空间占用以及对外提供查询服务的响应速度,并且和业界其他的大数据OLAP系统进行了对比测试分析。实验表明,在绝大部分应用场景里,本原型框架相比较于业界基于实时计算的OLAP系统有着较大的查询性能优势,并且预计算所占用的时间和空间也是可以接受的。