论文部分内容阅读
随着电子商务、社会计算、物联网等新应用的发展,促使相关数据的规模呈现出快速增长的趋势,大数据正改变着人们的生活、工作和思维方式。准确、高效地从大数据中挖掘出潜在的有用信息进而支持决策变得越发重要,并逐步成为数据科学领域关注的热点。分布式存储和计算平台Hadoop以分布式文件系统HDFS和分布式计算框架MapReduce为核心,已成为大数据处理领域事实上的标准。数据压缩是提高查询处理性能的重要手段。出于通用性考虑,HDFS按统一的方法存储结构化和非结构化数据,并支持常见的重量级压缩方法,但查询处理中需要解压,且解压开销较大,结构化数据的优势无法充分体现。在列存储系统中,轻量级压缩方法应用十分普遍,且查询处理可直接对压缩数据进行。然而,查询处理中元组重构是一个重要的性能瓶颈,尤其是在分布式环境下,元组重构时巨大的网络开销制约了查询处理性能。来源于PAX存储模型的行列混合存储结构结合了行存储和列存储各自的优势,能够为分布式环境下的大数据处理提供良好的存储模型。本文主要研究内容为Hadoop平台上结构化数据压缩的设计与实现。首先,分析了几种常见的轻量级数据压缩算法的实现原理,并结合压缩算法的特点,在HDFS之上设计了一套行列混合存储数据页结构;然后,提出并实现了基于MapReduce的自适应轻量级数据压缩方案,将大数据分块并行压缩,压缩后的数据存储为设计的混合存储结构并保存在HDFS上,并设计了该存储结构上的数据读取接口;同时,提出了动态数据节点选中优先级队列树结构,对数据在集群中各节点上的负载均衡进行优化;最后,分析了压缩数据上的查询实现过程,并给出了相应的查询实现方案,查询直接在压缩数据上进行,从而充分利用压缩所带来的性能优势。在大规模数据仓库基准数据集上的实验结果验证了提出的方案针对结构化数据在减少存储量、提升查询性能方面的有效性。