KVSTL: An Application Support to LSM-Tree Based Key-Value Store via Shingled Translation Layer Data Management

Shuo Han Chen*, Yuhong Liang, Ming Chang Yang

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

LSM-tree based Key-value (KV) stores greatly fit the needs of write-intensive applications with its efficient data store and retrieval operations to datasets. To accommodate ever-growing datasets, shingled magnetic recording (SMR) drives have become a popular option to provide large storage capacity for KV stores at low cost. SMR drives achieve high storage density via overlapping tracks on the disk surface. However, the overlapped track layout induces the sequential-write constraint and prevents KV stores from storing and rearranging KV pairs efficiently. In this paper, we present KVSTL, a KV store aware Shingled Translation Layer (STL), to preserve the merits of existing KV stores, while exploiting the high storage density of SMR drives. KVSTL is proposed as an application support to hide the management complexity of SMR drives and facilitates the management of SMR drives via passing only the 'level' and 'invalidation' information of LSM-tree based KV stores onto SMR drives. The proposed KVSTL achieves its performance enhancement via managing key-value pairs with level awareness and enabling efficient storage space management with the invalidation information. The results show that KVSTL can reduce the written data amount for 69.45 percent on average and the latency for up to 62.72 percent when compared with SMR-based LevelDB.

Original languageEnglish
Pages (from-to)1598-1611
Number of pages14
JournalIEEE Transactions on Computers
Volume71
Issue number7
DOIs
StatePublished - 1 Jul 2022

Keywords

  • Key-value store
  • LSM-tree
  • SMR

Fingerprint

Dive into the research topics of 'KVSTL: An Application Support to LSM-Tree Based Key-Value Store via Shingled Translation Layer Data Management'. Together they form a unique fingerprint.

Cite this