A Light-weight Compaction Tree to Reduce I / O Amplification toward Efficient Key-Value Stores

Ting Yao,Jiguang Wan,Ping Huang,Xubin He,Qingxin Gui,Fei Wu,Changsheng Xie
2017-01-01
Abstract:Log-Structure merge tree (LSM-tree) has been one of the mainstream indexes in key-value systems supporting a variety of write-intensive Internet applications in today’s data centers. However, the performance of LSM-tree is seriously hampered by constantly occurring compaction procedures, which incur significant write amplification and degrade the write throughput. To alleviate the performance degradation caused by compactions, we introduce a light-weight compaction tree (LWCtree), a variant of LSM-tree index optimized for minimizing the write amplification and maximizing the system throughput. The light-weight compaction drastically decreases write amplification by appending data in a table and only merging the metadata that has much smaller size. We implement three key-value LWC-stores on different storage mediums including Shingled Magnetic Recording (SMR) drives, Solid State Drives (SSD) and conventional HDDs, using our proposed LWC-tree. The LWCstore is particularly optimized for SMR drives as it eliminates the multiplicative I/O amplification from both LSM-trees and SMR devices. Due to light-weight compaction procedures, the LWCstore reduces the write amplification by up to 5× compared to the popular LevelDB key-value store. Moreover, the write throughput of the LWC-tree on SMR drives is significantly improved by up to 467% even compared with LevelDB on HDDs. Furthermore, the LWC-tree has wide applicability and it delivers impressive performance improvement in various conditions, including different storage mediums (i.e., SMR, HDD, SSD), varying value sizes and access patterns (i.e., uniform, Zipfian and latest key distribution).
What problem does this paper attempt to address?