Abstract
LSM-tree is widely used as a write-optimized storage engine in many NoSQL systems. However, the periodical compaction operations in LSM-tree cost many I/O bandwidths and CPU resources of the local server, resulting in throughput drops of the system. To address this issue, this paper proposes a new compaction scheme based on the FaaS (Functions as a Service) architecture, which is called FaaS Compaction. It utilizes the elastic computing capability of FaaS and always pushes compactions to a FaaS cluster. The FaaS cluster will perform actual compaction operations, which will not affect the processing of the local server. Therefore, we can maintain stable performance even when periodical compactions are triggered. We also present a Parallel Slight Compaction method to solve the timeout problem caused by heavy compactions. We implement the FaaS Compaction based on TerarkDB and a real FaaS cluster and experimentally compare the FaaS Compaction with the RocksDB's local compaction scheme and the state-of-the-art offloading compaction policy. The results suggest the efficiency, stability, and elasticity of our proposal.
Author supplied keywords
Cite
CITATION STYLE
Li, J., Jin, P., Lin, Y., Zhao, M., Wang, Y., & Guo, K. (2021). Elastic and Stable Compaction for LSM-tree: A FaaS-Based Approach on TerarkDB. In International Conference on Information and Knowledge Management, Proceedings (pp. 3906–3915). Association for Computing Machinery. https://doi.org/10.1145/3459637.3481913
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.