Data Stores

Write Amplification

Also known as: WAF, write amplification factor

Definition

Write amplification is the ratio of bytes physically written to storage to bytes logically written by the application. Journals, index updates, replication, compaction and SSD garbage collection each multiply the original write; a factor of 10-30x is normal, and it is what actually consumes IOPS and flash endurance.

Last reviewed · Part of the Architecture Glossary

In practice

Trace a single 200-byte row insert in a replicated Postgres:

LayerMultiplierWhy
WAL~2xWritten to the log, then to the heap
Full-page writeslarge, burstyFirst write to a page after a checkpoint writes the whole 8 KB page
Index maintenance1x per indexEach secondary index is its own write
ReplicationNxOnce per replica
SSD garbage collection1.1-3xErase blocks are far larger than pages

Four indexes, two replicas, and a 200-byte logical write can be several kilobytes of physical I/O.

Reducing it: fewer indexes, batched inserts, fillfactor tuning to enable HOT updates in Postgres, larger checkpoint intervals (trading recovery time), and column families or compression settings in LSM stores.

When it matters

Provisioned-IOPS sizing, cloud storage bills that scale with writes, SSD endurance in self-hosted fleets, and diagnosing a database that is disk-bound at a write rate that looks modest on paper.

Common mistake

Capacity-planning IOPS from application write volume. The device sees an order of magnitude more than the application issued — measure at the device, not the ORM.

See also

Go deeper