Abstract

Key-value stores based on a log-structured merge (LSM) tree have emerged in big data systems because of their scalability and reliability. An LSM-tree offers a multilevel data structure with a simple interface. However, it performs file rewrites at the disk level, which causes write amplification. This study is concerned with this problem in relation to an embedded board environment, which can be used in edge computing. Addressing the major problems associated with an LSM-tree, we propose a new key-value store named CaseDB, which aggressively separates keys and bloom filters on the non-volatile memory express (NVMe) drive and stores the values on the SSD. Our solution reduces the I/O cost and enhances the overall performance in a cost-efficient manner. CaseDB employs a memory component, CBuffer, to avoid small write operations, and a delayed value compaction technique that guarantees the sorted order for both keys and values. CaseDB also utilizes deduction-based data deduplication to prevent space amplification in the values layer. The experiments show that CaseDB outperforms LevelDB and WiscKey 5.7 and 1.8 times, respectively, with respect to data writes, and additionally improves the read performance by 1.5 times. CaseDB also avoids the space amplification of WiscKey.

Highlights

  • In recent years, the rise in technological developments has resulted in a dramatic increase in the number of Internet-ofThings (IoT)-based devices

  • COMPARISONS we detail the major differences among CaseDB, LevelDB, and WiscKey. Both WiscKey and CaseDB were developed on the basis of LevelDB and use a similar technique to separate the keys from their values

  • The average performance of CaseDB is 4.5 and 1.8 times faster than that of LevelDB and WiscKey, respectively, for values that exceed the threshold. These experiments show that the separation of metadata and the delay of SSTable compaction by using the metadata have a considerable effect on the write throughput and achieve an improvement of approximately 5.7 and 1.8 times over LevelDB and WiscKey, respectively, by reducing the I/O proportion and by using non-volatile memory express (NVMe)-adapted architecture

Read more

Summary

INTRODUCTION

The rise in technological developments has resulted in a dramatic increase in the number of Internet-ofThings (IoT)-based devices. Key-value (KV) stores have been the most promising in big data systems as the representative of NoSQL [6] databases These stores are mostly implemented using log-structured merge (LSM) trees [1] as the data structure. Because of its simplicity and availability, LevelDB has been the main focus of studies This database keeps data sorted at each level and improves the read throughput using an LSM-tree. It performs a considerable amount of file rewrites in persistent storage and causes write amplification that is measured by its ratio (WAR). WiscKey [19] separates the keys from their values and implements the LSM-tree only on the keys This reduces the write amplification by applying compaction to the keys.

BACKGROUND
METADATA SHARE
COMPARISONS
EVALUATIONS
RELATED WORK
Findings
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call