面向海量数据的多级键值存储引擎

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:xueluowushengkk
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来互联网高速发展,已经逐渐成为人们获取信息的主要来源,互联网信息总量大并呈爆炸性增长,对这些信息的存储给互联网公司提出了新的挑战。为了应对互联网中海量数据存储的挑战,出现了以BigTable为代表的分布式键值存储引擎。BigTable的分布式架构通过多服务器协作解决了存储容量问题,Merge-Dump模型使系统的写性能得到了很好的提升,但是随机读性能却由于磁盘的随机读性能较差不能得到很好的提升。新兴的存储介质SSD具有较好的随机访问性能,用SSD替换磁盘可以获取较好的性能提升,但是SSD的单位容量价格较高,并且当前的索引结构未针对SSD做优化不能充分发挥SSD的性能优势。   本文提出了面向海量数据的RAM-SSD-HDD三级键值存储引擎,主要探讨了数据分级、三级缓存调度策略和索引性能的提升等关键问题,本文的主要贡献包括:   1.设计实现了面向海量数据高效读写的RAM-SSD-HDD三级键值存储引擎MN-Store(Massive data oriented N-tier Key-Value Store)。针对读性能差的问题,引入了SSD缓存层,SSD的单位容量价格和性能都介于RAM和HDD之间,达到了更好地均衡系统读写性能的目的。同时,SSD作为HDD缓存的方式也协调了系统性能与成本之间的矛盾。在三级存储引擎中,根据各部分数据的特性进行了分级存储,主要包括RAM读写缓存数据、SSD读写缓存数据和HDD上的海量数据,并对各部分索引进行了相应优化。整体系统通过合理的数据分级、缓存调度策略和索引优化三方面来综合提升性能,最终,整体系统在不降低写性能的前提下,将读性能提升至基于HDD的原生Cassandra的23.8倍,达到基于SSD的原生Cassandra读性能的52.9%。   2.提出了面向三级存储引擎的、SSD友好的缓存批量调度策略。缓存调度策略至关重要,SSD在三级缓存调度策略中起着核心作用,本文针对SSD写放大率的问题,设计了缓存批量换出到SSD,SSD缓存批量更新,缓存批量管理与失效的缓存调度策略,达到了兼顾缓存命中率和SSD写放大率的目标。   3.设计了支持高效随机读写的索引方式。针对索引性能较低的问题,设计了基于持久化存储介质的哈希索引的方式,该索引方式保证写性能与原生Casandra相当的前提下,基于HOD存储时读性能提升了69%,基于SSD存储时读性能提升89%;同时相对于Cassandra原生索引省去了内存中的Index Summary,节省了内存空间。
其他文献
蒸汽系统是钢铁石化等工业企业的重要组成部分,它消耗燃料,为整个生产过程提供蒸汽、电力、冷却水等公用工程。蒸汽系统的安全稳定运行是企业安全、稳定、长周期运行的基础。蒸
随着大数据和云计算的发展,分布式文件系统在众多的存储系统中扮演着越来越重要的角色。与此同时,数据仓库也经历了概念的提出、理论的逐步完善、初步建立仓库,到现在发展成熟等
显式语义分析技术ESA,通过对知识库(如Wikipedia)的处理,构造出各个词到每个概念的倒排索引,并且计算出词到每个概念的权值,表示词与概念的相关度。因此,这个倒排索引可以看作是由词
动态二进制翻译系统中,动态优化技术能根据程序运行时的行为实时地调整代码优化策略,提高程序性能。在传统的系统设计中,代码的优化和代码的执行在同一个进程中分时进行,因此
针对大多现有软件无法通过修改编译后的二进制代码来实现通信保护的问题,提出一种基于LSP通用的保密通信模型。通过分析分层服务提供者(LayeredService Provider,缩写LSP)的实
候鸟迁徙卫星跟踪系统的成功应用,使得青海湖地区鸟类积累的卫星跟踪数据量越来越大。为了准确的获取对青海湖鸟类数据的认知,探究数据背后的知识,本文设计了多个新颖、充实的可
随着网络应用和技术的快速发展、网络规模的不断扩大,网络测量和监控是监控网络状态保证网络正常运行的必要手段,同时网络测量技术也是学习和研究网络行为模式,为改进网络协议、
近年来,随着公众对信息安全重视程度的逐渐加深,传统的基于PC或服务器平台的人脸识别系统己无法满足人们对便携性和易用性的需求。局限于人脸识别系统对计算能力与存储容量的
随着互联网规模的增大,网络的普及,以及最近社交网络的兴起和突发新闻事件的迅速传播等趋势,网民不仅对检索系统的全面性,还对检索系统的时效性都提出了更高的要求。因此,在
学位