基于非易失存储器的键值存储引擎
发布时间:2024-04-19 04:31
键值存储引擎(key-value storage engine)在网络索引、电子商务、社交网络和云存储等现代数据密集型应用中发挥着越来越重要的作用,然而内部存储器和外部存储器的固有缺陷成为制约键值存储引擎的瓶颈。随着存储器技术的发展,出现了一类新型存储器——非易失存储器(non-volatile memory,简称NVM),非易失存储器既有内部存储器按字节寻址和低延迟的优点,又有外部存储器非易失和容量大的优点。研究基于NVM的键值存储引擎关键技术有望解决现有的键值存储引擎所面临的瓶颈问题。本文首先通过源码分析了基于外存的键值存储引擎Level DB的系统框架及运行机制,然后通过实验分析了Level DB的读延迟和写放大(write amplification),根据实验结果得出重要结论:一方面,SST文件引发的数据反序列化开销和顺序层次索引的维护开销在读延迟中占比很高;另一方面,文件分层的键值数据合并策略引发了很高的写放大,不仅降低了数据写入性能而且大幅缩短了NVM的使用寿命。根据此结论,本文从算法和工程上对Level DB进行了重新设计,实现了基于NVM的键值存储引擎Nova DB。...
【文章页数】:75 页
【学位级别】:硕士
【部分图文】:
本文编号:3958231
【文章页数】:75 页
【学位级别】:硕士
【部分图文】:
图2-1内部键的组成
16-第2章键值存储引擎LevelDB的缺陷2.1引言本章首先给出了LevelDB的系统框架及运行机制,然后通过实验分析LevelDB的读延迟和写放大,最后总结并提出了改进思路,为后续章节奠定基矗2.2LevelDB系统框架及运行机制LevelDB是一种采用LSM树索引的主流键值....
图2-2LevelDB系统框架
哈尔滨工业大学工学硕士学位论文-17-键等SST文件元数据被收集起来用于构建顺序层次索引,LevelDB根据顺序层次索引对这些SST文件执行二分查找。任何新增或删除SST文件的操作都会以写时复制(copy-on-write)的方式更新顺序层次索引,更新的内容以尾部追加的方式写入M....
图2-3读延迟各流程开销比例综合以上从实验和源码两方面对LevelDB读延迟的剖析,可以得出结论:有LevelDB
维护开销在读延迟中占比快速增大,而数据查找操作的延迟总和基本上与数据量呈线性增长关系。结合LevelDB的开源代码容易得知原因:一方面,LevelDB将文件打开句柄数量限制在1000以内以防耗尽文件描述符(filedescriptor)或虚拟内存(virtualme....
图2-4写放大
哈尔滨工业大学工学硕士学位论文-21-图2-4写放大图2-5写延迟
本文编号:3958231
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3958231.html