Write Amplification
Also known as: WAF, write amplification factor
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:
| Layer | Multiplier | Why |
|---|---|---|
| WAL | ~2x | Written to the log, then to the heap |
| Full-page writes | large, bursty | First write to a page after a checkpoint writes the whole 8 KB page |
| Index maintenance | 1x per index | Each secondary index is its own write |
| Replication | Nx | Once per replica |
| SSD garbage collection | 1.1-3x | Erase 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
- LSM Tree (Log-Structured Merge Tree)An LSM tree buffers writes in an in-memory table, flushes them to immutable sorted files, and merges those files in the background.
- Replication LagReplication lag is the delay between a write committing on the primary and becoming visible on a replica.
- OLTP (Online Transaction Processing)OLTP describes workloads made of many small, short-lived transactions that read and write a few rows each — placing an order, updating a profile.