摘要
当前大量键值对(Key-Value)存储系统使用固态硬盘(SSD)改善系统的I/O响应速度。但是现有的键值对存储系统应用程序使用标准文件系统处理数据在固态硬盘上的存储,这对应用程序而言底层固态盘的物理特性被屏蔽,同时固态盘也无法针对应用程序的特定I/O模式进行优化,使得基于固态盘的键值对系统性能没有得到充分发挥。针对此问题,设计了同时考虑键值对应用程序存取行为和SSD存储器访问特性的存储管理模块,并与LevelDB结合实现了一种轻量级的、将上层应用与底层存储集成一体的键值对系统—SSDKV。它提供键值对接口给外部程序,结合键值对数据的特点构造适应SSD的数据布局。SSDKV简化了传统文件系统对键值对数据的额外处理,并根据键值对数据的类型及其存取模式对SSD存储空间进行有效管理,使得基于SSD设备的键值对系统性能进一步提高。通过基准程序测试,与运行于传统文件系统上的LevelDB相比,SSDKV使得写性能提高达4倍,读性能提高达1.5倍。
Key-Value (KV) store systems use SSD device to improve the response speed of I/O. However, the existing KV store systems adopt the standard file system to handle storing data in SSD de- vices, so the physical characteristics of SSDs are invisible to applications and the I/O behaviors of applications are invisible to storage media, limiting the further performance improvement of KV store systems. Therefore, we design a storage mechanism, which concerns both KV data patterns and SSD device characteristics.. By combining with LevelDB, a LSM-Tree-based KV store, we implement a SSD friend- ly KV system--SSDKV, which is a lightweight KV store and runs in user space. Besides the basic function of providing KV interfaces, SSDKV introduces an innovative on-disk data deployment. By reducing the extra procedures required by the traditional file systems to handle KV data, and managing the SSD storage space in a more proper way according to KV data, SSDKV can improve the performance significantly on the KV store. Compared with other file systems, SSDKV can improve write performance by 4 times and read performance by 1.5 times.
出处
《计算机工程与科学》
CSCD
北大核心
2016年第7期1299-1308,共10页
Computer Engineering & Science
基金
国家863高技术研究发展计划(2013AA013203)
国家973重点基础研究计划(2011CB302303)