论文部分内容阅读
Hadoop是一款分布式开源软件框架,是大数据时代提升存储资源的利用效率,降低数据存储的成本的有效工具。Hadoop中的日志数据,主要是用户访问企业相关业务时,产生的nginx网络请求记录(request_record),内容涵盖了用户请求状态、业务运行状态、响应状态等多种信息,在云中占有很大比重。 Hadoop的产生与发展,缓解了数据存储与管理压力。然而,随着数据存储与计算需求的增长,未来将会有越来越多的用户数据被接入云端,日志数据的规模将持续增长。设计针对日志数据的专用压缩算法,对于缓解云存储平台数据存储压力,节约存储成本以及提高平台性能都有非常重要的意义。 本文首先从数据存储格式和数值分布特征两方面分析了云存储中日志数据的特征。然后设计了日志数据结构化重组方法:将日志中记录按列连续存储,对数值记录做转换,对非数值记录做数据去重。通过使用四种算术编码和三种字典压缩算法分别压缩数值记录和非数值记录,并对压缩率、压缩/解压速度等性能做比较分析,选择出了合理的压缩算法,实现日志数据的混合压缩。最后,本文设计了基于日志数据的混合压缩算法——Mix,给出了Mix算法的系统架构模型和数据布局模型,并针对云存储平台分布式环境和压缩框架,设计了压缩算法的分布式解决方案。 本文利用Mix算法对奇虎360公司Hadoop云存储平台中的日志数据进行了压缩/解压性能测试,并与Hadoop中三种常用压缩算法进行对比。实验表明,Mix算法的综合性能在Gzip和Lzma之间:它一定程度上改进了Gzip的压缩率,而压缩与解压速度仅有小幅下降。 Mix算法,为云存储平台日志数据的压缩,提供了一种折衷的手段。对于平台节省存储成本、缩短压缩时间,具有很重要的意义。