Table of Contents
Fetching ...

How to Write to SSDs

Bohyun Lee, Tobias Ziegler, Viktor Leis

TL;DR

This paper designs the in-place, B-tree-based LeanStore to write out-of-place and supports a set of out-of-place optimizations that collectively reduce write amplification across both the DBMS and SSD layers, and shows that the architecture can seamlessly support novel SSD interfaces such as ZNS and FDP.

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 transaction 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.

How to Write to SSDs

TL;DR

This paper designs the in-place, B-tree-based LeanStore to write out-of-place and supports a set of out-of-place optimizations that collectively reduce write amplification across both the DBMS and SSD layers, and shows that the architecture can seamlessly support novel SSD interfaces such as ZNS and FDP.

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 transaction 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.
Paper Structure (34 sections, 5 equations, 16 figures, 3 tables)

This paper contains 34 sections, 5 equations, 16 figures, 3 tables.

Figures (16)

  • Figure 1: Flash writes per single page write and throughput (YCSB-A zipf $\theta$ = 0.8, Samsung PM9A3 SSD 90% full, page sizes (KB): MySQL: 16, PostgreSQL: 8, LeanStore: 4)
  • Figure 2: In-place vs. out-of-place writes on disk and SSD
  • Figure 3: Total amount of reads when reading PID 1
  • Figure 4: Garbage collection process
  • Figure 5: Impact of different placement strategies on WA (1 denotes a page with deathtime 1.)
  • ...and 11 more figures