利用文件系统的Dentry管理加速LSM-Tree
Accelerating LSM-Tree with the Dentry Management of File System
摘要:
日志结构的合并树(LSM树)在构建键值(KV)存储中获得了广泛的应用。它采用日志来备份到达的KV对,并维护几个磁盘级别,容量限制呈指数级增加,类似于分层的树状结构。一个级别由SST文件组成,每个文件都包含一个排序的KV对序列。不时,LSM树重新部署KV对从一个完整的水平到较低的水平,通过压缩,合并排序和SST文件之间的KV对移动,从而引起大量的磁盘I/O。在本文中,我们重新审视LSM树的设计,发现在一个SST文件中组织多个KV对需要重量级的实际KV对在一个压缩重新部署。因此,我们革命性的KV对的组织,通过转换的SST文件的KV对到SST目录,其中每个KV对成为一个独立的KV文件的关键字和值的文件名和主文件内容,分别。在压缩中移动KV对转换为传输目录条目(denominator),这具体地导致更少的磁盘I/O。这是我们名为DeLSM的设计的本质。我们在LevelDB上构建了一个DeLSM的原型,评估结果表明,它在不同维度上的性能明显优于最先进的LSM树变体。
英文摘要:
The log-structured merge tree (LSM-tree) gains wide popularity in building key-value (KV) stores. It employs logs to back up arriving KV pairs and maintains a few on-disk levels with exponentially increasing capacity limits, resembling a tiered tree-like structure. A level comprises SST files, each of which holds a sequence of sorted KV pairs. From time to time, LSM-tree redeploys KV pairs from a full level to the lower level by compaction, which merge-sorts and moves KV pairs among SST files, thereby incurring substantial disk I/Os. In this paper, we revisit the design of LSM-tree and find that organizing multiple KV pairs in an SST file entails the heavyweight redeployment of actual KV pairs in a compaction. Accordingly we revolutionize the organization of KV pairs by transforming an SST file of KV pairs to an SST directory, in which each KV pair makes into an independent KV file with the key and value as filename and main file contents, respectively. Moving KV pairs in a compaction converts to transferring directory entries (dentrys), which causes concretely fewer disk I/Os. This is the essence of our design named DeLSM. We build a prototype of DeLSM on LevelDB and evaluation results show that it significantly outperforms the state-of-the-art LSM-tree variants in different dimensions.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。