From the paper: How to Write to SSDs (External link).

Reducing writes with compression

Easier compression with out-of-place writes

  1. Compress individual pages.

  2. Write resulting compressed batch as a large sequential I/O.

    To be able to make an update and retrieve information, don’t we need to fetch all the batch pages, modify the page that we need to, compress again, and then write all of the batch again? Doesn’t that make us write more?

  3. Record their new offsets and compressed sizes.

Compression ratio determines write reduction

Authors tested with LZ4 and ZSTD. Compression ratios for the datasets they tested range from 14% to 49%.

OLTP workloads benefit from compression, as it reduces write volume and storage footprint.

CPU overheads are negligible in most I/O-bound scenarios

In most I/O-bound or out-of-memory scenarios, the I/O savings dominate the CPU cost.

Evaluation

Authors claim proposed optimizations reduce total WAF while improving throughput and SSD lifespan.