基于持久化内存的索引设计重新思考与优化
2021-02-07韩书楷熊子威蒋德钧
韩书楷 熊子威 蒋德钧 熊 劲
(计算机体系结构国家重点实验室(中国科学院计算技术研究所) 北京 100190)(中国科学院大学 北京 100049)(hanshukai@ict.ac.cn)
非易失性内存(non-volatile memory, NVM)是近几年来出现的一类存储介质的统称,例如:PCM[1],ReRAM[2],STT-RAM[3]等.一方面,这些存储介质同DRAM(dynamic RAM)一样有着低访问延迟、可字节寻址的特性;另一方面,与DRAM不同的是,它们具有非易失性、较低的能耗和较高的存储密度.这使得基于NVM技术的非易失性内存有着更大的单片存储容量,同时能够作为存储设备保存数据.若利用基于非易失性内存构建存储系统,一方面,相对于传统基于内存的存储系统而言,可以受益于非易失性内存的非易失、大容量、低能耗特点[4];另一方面,相对于传统基于磁盘的存储系统而言,可以受益于更低的访问延迟以及更细粒度寻址方式.因此,NVM技术有望被大规模的应用在存储系统的研发与构建中,成为存储系统进一步发展的新机遇.
键值存储系统是数据中心中一类重要的基础性存储设施,例如内存键值存储系统Memcached[5],Redis[6]和磁盘键值存储系统LevelDB[7],RocksDB[8]等.无论是内存键值存储系统还是磁盘键值存储系统,索引结构都是这些存储系统中非常重要的基础技术,一直以来便是存储领域的热点研究问题.在之前的研究工作中,索引结构大多构建在DRAM中.随着低访问延迟、可字节寻址、可持久化数据的NVM的出现,这使得基于NVM构建持久化的高性能索引成为可能.近年来,很多面向NVM的索引研究工作[9-16]认为NVM有着同DRAM近似的读延……
