How to Write to SSDs
Bohyun Lee, Tobias Ziegler, Viktor Leis

TL;DR
This paper advocates for out-of-place writes in SSDs for database systems, proposing optimizations that significantly improve throughput and reduce flash writes, while supporting new SSD interfaces.
Contribution
It introduces out-of-place optimizations for SSDs, redesigns a B-tree-based database to implement these, and demonstrates substantial performance improvements across benchmarks.
Findings
Throughput increases by up to 2.24x on OLTP benchmarks.
Flash writes per operation decrease by up to 9.8x.
Supports new SSD interfaces like ZNS and FDP seamlessly.
Abstract
This paper demonstrates that adopting out-of-place writes is essential for database systems to fully leverage SSD performance and extend SSD lifespan. We propose a set of out-of-place optimizations that collectively reduce write amplification across both the DBMS and SSD layers. We redesign the in-place, B-tree-based LeanStore to write out-of-place and support these optimizations, and evaluate it on diverse OLTP benchmarks, dataset sizes, and SSDs. The final design improves throughput by 1.65-2.24x and reduces flash writes per operation by 6.2-9.8x on YCSB-A. On TPC-C with 15,000 warehouses, throughput improves by 2.45x while flash writes decrease by 7.2x. Finally, we show that the architecture can seamlessly support novel SSD interfaces such as ZNS and FDP.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Cloud Computing and Resource Management · Advanced Database Systems and Queries
