论文部分内容阅读
随着网络存储系统的快速发展,基于分布式存储的应用正经历着前所未有的高速发展,需要存储大量数据的网站、云服务等得以普及。然而这些数据目前集中部署在单节点存储设备上,随着数据规模的扩大,单台主机的资源并不能容纳大规模的数据。由于后续扩容成本昂贵,因此迫切需要引入分布式存储系统来解决大数据的存放和访问问题。同时随着电子商务的发展以及Web2.0技术在网络应用的广泛应用,传统的关系型数据库不能满足对当今数据的存储要求。NoSQL数据库是对关系型数据库的补充,通过简单数据模型、元数据以及应用数据分离和弱一致性等技术,实现对大数据的有效管理。基于以上,本文主要研究基于NoSQL的分布式存储中的数据分布、数据压缩和及存储格式问题,在分析总结国内外相关研究的基础上,提出了基于Redis改进的一致性哈希算法和基于Hive的性能优化研究,并以Redis在排行榜问题中的应用为背景,对Redis进行了有效的性能分析与评测。主要的研究工作如下:(1)基于Redis改进的一致性哈希算法,为了解决分布式存储系统中的数据均衡问题,提高算法在应用实践时的可靠性、可用性等特性。通过对Redis存储节点进行逻辑划分成一个组,组内采用主从模式可以提高分布式存储的一致性和可靠性,并分析了同一个组内不同读写策略的数据一致性。当组内主节点宕机时,利用从节点的备份数据以及主从切换可以及时对外提供集群服务。通过实验证明,该算法能有效地降低读写操作平均响应时间和提高系统吞吐量,使分布式存储系统负载更为均衡。(2)基于Hive的性能优化研究,为了解决分布式存储系统中文件系统的数据压缩和存储格式问题,通过对MapReduce作业调度和Hive性能调优两个方面对Hive的性能进行优化研究。对于MapReduce主要从编程模型切入,分析其执行过程,并从map端、reduce端进行参数调优。接着从Hive框架角度入手,分别从分区表和外部表以及常用数据文件的压缩、行式存储与列式存储等方面进行深入研究。实验结果表明,snappy压缩、orcfile/parquet存储格式可以对于列式查询场景提高查询效率。