Distributed LSM-based databases face throughput and latency issues due to load imbalance across instances and interference from background tasks such as flushing, compaction, and data migration. Hailstorm addresses these problems by deploying the database storage engines over a distributed filesystem that disaggregates storage from processing, enabling storage pooling and compaction offloading. Hailstorm pools storage devices within a rack, allowing each storage engine to fully utilize the aggregate rack storage capacity and bandwidth. Storage pooling successfully handles load imbalance without the need for resharding. Hailstorm offloads compaction tasks to remote nodes, distributing their impact, and improving overall system throughput and response time. We show that Hailstorm achieves load balance in many MongoDB deployments with skewed workloads, improving the average throughput by 60%, while decreasing tail latency by as much as 5×. In workloads with range queries, Hailstorm provides up to 22× throughput improvements. Hailstorm also enables cost savings of 47-56% in OLTP workloads.
CITATION STYLE
Bindschaedler, L., Goel, A., & Zwaenepoel, W. (2020). Hailstorm: Disaggregated compute and storage for distributed LSM-based databases. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 301–316). Association for Computing Machinery. https://doi.org/10.1145/3373376.3378504
Mendeley helps you to discover research relevant for your work.