ABSTRACT
Modern persistent key-value stores typically use a log-structured merge-tree (LSM-tree) design, which allows for high write throughput. Our observation is that the LSM-tree, however, has suboptimal performance during read-intensive workload windows with non-uniform key access distributions. To address this shortcoming, we propose and analyze a simple decision scheme that can be added to any LSM-based key-value store and dramatically reduce the number of disk I/Os for these classes of workloads. The key insight is that copying a frequently accessed key to the top of an LSM-tree ("splaying'') allows cheaper reads on that key in the near future.
- B. H. Bloom. Space/Time Trade-offs in Hash Coding with Allowable Errors. CACM, 13(7): 422--426, 1970. Google ScholarDigital Library
- N. Dayan, M. Athanassoulis, and S. Idreos. Monkey: Optimal Navigable Key-Value Store. In SIGMOD, 2017. Google ScholarDigital Library
- Facebook. RocksDB. https://github.com/facebook/rocksdb.Google Scholar
- P. E. O'Neil, E. Cheng, D. Gawlick, and E. J. O'Neil. The log-structured merge-tree (LSM-tree). Acta Informatica, 33(4): 351--385, 1996. Google ScholarDigital Library
- D. D. Sleator and R. E. Tarjan. Self-Adjusting Binary Search Trees. Journal of the Association for Computing Machinery, 32 (3): 652--686, 1985. Google ScholarDigital Library
Index Terms
- Splaying Log-Structured Merge-Trees
Recommendations
LSM-tree managed storage for large-scale key-value store
SoCC '17: Proceedings of the 2017 Symposium on Cloud ComputingKey-value stores are increasingly adopting LSM-trees as their enabling data structure in the backend storage, and persisting their clustered data through a file system. A file system is expected to not only provide file/directory abstraction to organize ...
LSM-Trees and B-Trees: The Best of Both Worlds
SIGMOD '19: Proceedings of the 2019 International Conference on Management of DataLSM-Trees and B-Trees are the two primary data structures used as storage engines in modern key-value (KV) stores. These two structures are optimal for different workloads; LSM-Trees perform better on update queries, whereas B-Trees are preferable for ...
On Integration of Appends and Merges in Log-Structured Merge Trees
ICPP '19: Proceedings of the 48th International Conference on Parallel ProcessingAs widely used indices in key-value stores, the Log-Structured Merge-tree (LSM-tree) and its variants suffer from severe write amplification due to frequent merges in compactions for write-intensive applications. To address the problem, we first propose ...
Comments