论文部分内容阅读
随着互联网高速发展,移动互联网浪潮的兴起,人们的生活越来越离不开互联网,人们在使用互联网进行互联的同时创造的数据量也是呈指数级增长,提高对海量数据的存储和快速访问的需求变得越来越迫切。海量数据对传统的单机文件存储系统提出了巨大挑战,传统的存储系统不能为应用提供灵活的可扩展性,难以做到线性扩展。移动互联网浪潮下创建一种新型的对非结构化数据存储、具有高扩展性的键值存储系统开始变得尤为迫切。本文提出一种分布式键值存储系统,该系统在架构上考虑到高扩展性,系统接入层统一进行接入,通过哈希算法来提高数据的寻址效率,为了提高系统的数据访问效率,系统在数据存储层上构建了缓存层,通过路由协议让系统具备良好的伸缩性,对数据进行迁移的过程中不影响分布式存储对外提供服务,存储节点的变化对用户使用系统透明。本文对现有成熟并且已经运用于生产环境中的分布式存储技术进行了全面系统的分析,在分析不同存储系统优劣势的基础上提出了本文的分布式键值存储系统。本文的主要设计思想或创新点主要包括:第一,基于哈希算法和路由协议来解决数据和存储节点之间的映射关系,构建满足如今移动互联网海量碎片化数据的分布式键值存储系统,依据这样的映射策略系统能够非常方便的进行透明的动态扩缩容操作,具备良好的可扩展性。第二,存储系统对数据透明存储,存储系统和数据进行了彻底的解耦,提高了存储系统的通用性,从用户的角度看到其所用的存储系统就是一个海量的数据存储中心。基于KV键值对的形式来设计数据存储结构,所有的数据都以二进制非结构化的形式进行存储,与传统的关系型数据存储系统对比,其数据存储简单、高效,让用户能更加灵活的使用存储系统。第三,分布式存储系统中数据具备高可靠性,同时数据访问具有低延迟性。在可靠性方面,系统采用多副本的方式保证数据的多地备份;为了保证数据的低延迟访问,采用分布式缓存来缓存全量数据;同时为了保证数据存储和数据缓存的全量数据同步,构建了一个分布式消息队列作为同步层,解耦数据存储层和数据缓存层之间的依赖关系,使之能够随意扩展多个数据缓存层以提供用户的就近接入。本论文提出了一种将传统数据存储和大数据背景下产生的键值数据存储理论相结合的方式来提供海量数据存储的解决方案,对分布式键值存储系统的发展具有一定的探索和实践意义。