咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于可持久随机访问内存的键值数据库优化技术研究 收藏
基于可持久随机访问内存的键值数据库优化技术研究

基于可持久随机访问内存的键值数据库优化技术研究

作     者:闫俊东 

作者单位:西安电子科技大学 

学位级别:硕士

导师姓名:李龙海;李莉

授予年度:2022年

学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 

主      题:键值数据库 RocksDB 非易失性内存 写放大 写停顿 

摘      要:如今,互联网已经深入到了人们日常生活的各个方面,从工作、娱乐、沟通到购物消费等都因为网络的便捷发生了巨大的变化,而这同时也产生了海量的数据需要存储和访问。为了应对这些问题,国内外研制了多种不同存储模式的No SQL数据库,其中键值数据库由于它的存储结构简单和良好的性能优势,获得了人们更多的青睐。键值数据库是使用一对数据作为存储模型,其中键的数据类型必须是能作为唯一标识的字符串,目的是为了建立索引及数据的查找,而值是由二进制大对象进行存储,因此可以是基础数据类型、照片、视频、文件等数据。近年来,涌现出了Redis、HBase、Level DB、RocksDB等多种键值数据库,其在电子商务、社交平台和网络游戏等领域有着越来越重要的地位。然而传统的内存-硬盘的存储结构已经成为制约键值数据库进一步提升性能的瓶颈。近年来,非易失性内存(Non-Volatile Memory,NVM)的出现给键值数据库的进一步优化提供了方向。相比于普通内存,它有着持久性保存和容量大的特性;相比于磁盘,它有着可按字节寻址和低访问延迟的特性,这能够弥补两者在性能和容量上的差异。本文的主要工作如下:(1)分析与总结了目前国内外对LSM-tree的优化研究现状和其中存在的问题,尤其针对非易失性内存在键值存储引擎中的应用进行了研究。(2)详细分析了RocksDB存储引擎的设计架构和运行机制,然后从理论和实验两个角度分析了系统存在的问题:写放大、写停顿、读延迟。实验结果表明:a)磁盘中数据的合并压缩策略带来了很高的写放大,这不仅会降低系统的写入性能还会大幅减少磁盘的使用寿命;b)为了平衡系统Flush的速度和维持L0层中数据的容量,系统会发生很严重的写停顿,这极大的影响了前台的写操作;c)由于L0层中并没有维护全局有序,给读延迟造成了很大的开销。(3)在上述结论的基础上,本文设计与实现了基于NVM的键值存储引擎PmemRocksDB。其改进内容包括:a)把L0层存储到NVM中,并且设计了SATable结构以充分利用NVM按字节寻址和低延迟的特性;b)用多线程的方式对多个SATable进行排序分组,以减少L0层与L1层发生Compaction时的数据量;c)在内存中维护了针对L0层的索引,加快对L0层中键值对的查找效率;d)通过增加每层的数据容量,以在存储相同的数据量时,系统有更少的数据层数,减少了数据的合并次数,进而减少系统的写放大。最后,对最终实现的Pmem-RocksDB进行深入的功能测试和性能测试。其中功能测试使用自编写的工具,验证数据库对外提供接口的正确性;性能测试使用了RocksDB提供的db_bench和雅虎的云服务基准测试工具YCSB,与官方的RocksDB进行性能对比。测试结果表明,Pmem-RocksDB在写入性能、写放大和写停顿方面已优于RocksDB。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分