Hashkv: Enabling Efficient Updates In Kv Storage Via Hashing

Helen H. W. Chan,Yongkun Li,Patrick P. C. Lee,Yinlong Xu
2018-01-01
Abstract:Persistent key-value (KV) stores mostly build on the Log-Structured Merge (LSM) tree for high write performance, yet the LSM-tree suffers from the inherently high I/O amplification. KV separation mitigates I/O amplification by storing only keys in the LSM-tree and values in separate storage. However, the current KV separation design remains inefficient under update-intensive workloads due to its high garbage collection (GC) overhead in value storage. We propose Hash KV, which aims for high update performance atop KV separation under update-intensive workloads. HashKV uses hash-based data grouping, which deterministically maps values to storage space so as to make both updates and GC efficient. We further relax the restriction of such deterministic mappings via simple but useful design extensions. We compare HashKV with state-of-the-art KV stores via extensive testbed experiments, and show that HashKV achieves 4.6x throughput and 53.4% less write traffic compared to the current KV separation design.
What problem does this paper attempt to address?