论文部分内容阅读
随着市场竞争日趋激烈,快速地进行OLAP分析对于企业在市场中抢到先机尤为重要。在当前大数据时代,分布式架构的数据库是为提供海量数据分析服务的基础,但是在执行分布式OLAP查询时,处理连接、分组等操作会引起比较大的延时。因此需要对分布式OLAP查询进行优化,本文以在商业方面应用广泛的分布式数据分析平台Hive作为研究案例。本文对分布式OLAP查询优化存在的问题和优化目标进行了分析,并提出了查询优化方案,将预计算技术引入到分布式数据库Hive中,预计算生成的立方体存储到分布式数据库HBase中,把分布式数据库Hive的OLAP查询转换成分布式数据库HBase立方体查询。对于OLAP查询优化方案中的每个技术问题进行展开,主要工作如下:(1)针对OLAP查询的数据立方体计算效率较低的问题,研究了在MapReduce编程模型下的两种立方体算法:逐层立方体算法和逐段立方体算法,对两种算法进行了设计与对比分析,分析得到逐段立方体算法能够更加快速地进行立方体的计算;对逐段立方体算法进行了改进,实现立方体更快速的分布式计算;最后进行了仿真验证实验,实验结果表明改进的逐段立方体算法计算更高效。(2)针对OLAP查询的数据立方体存储效率较低的问题,对HBase立方体的存储策略进行研究。提出并设计了HBase立方体的维度行键存储模型,实现OLAP立方体的按维分布式存储;研究HBase中OLAP立方体的加载技术,实现大数据量快速加载;对OLAP立方体的更新技术进行研究,实现原始数据和立方体数据的一致性;接着对OLAP立方体的Gzip、LZO和Snappy三种数据压缩算法进行研究与分析,使用数据压缩技术减少HBase中立方体的存储空间。最后设计了立方体加载和压缩算法仿真实验,实验结果表明BulkLoad加载方式能够更快速地对立方体进行加载,并且Snappy更适用于立方体的压缩,提高OLAP的查询性能。(3)在前面研究基础上,对OLAP查询模式进行了设计,实现了立方体的OLAP点查询和范围查询;提出了立方体更新阶段的在线查询策略,设计了在线合并算法,实现立方体在更新期间不间断和快速的查询;最后对立方体的查询优化策略进行了验证实验,实验结果表明本文提出的计算策略和存储策略生成的立方体的能够优化OLAP查询,且本文提出的在线查询策略能够加快立方体更新期间的查询速度。