What mutation strategies forbid
What do mutation strategies forbid, what are the escapes, and what does each escape cost?
What this article forbids. No strategy achieves O(d) writes, O(1) reads and O(data) space at once without a collector. Unlike the RUM conjecture, here you can see the mechanism: the negation must be evaluated by someone, and the only three parties available are the writer, the reader and a background process. Each is a different cost column. A second prohibition is sharper and less discussed: you cannot reclaim without establishing that no one is reading, and that is either a coordination protocol or a conservative time horizon. There is no local, cheap way to know that a byte is dead.
The escapes and their prices
| Strategy | What it buys | What it costs |
|---|---|---|
| In-place | Optimal read and space | Double writes; loses free concurrency |
| Copy-on-write | Pointer-sized atomicity, free snapshots | U/d × depth |
| Merge-on-read | Optimal writes | Unbounded read amplification until a compaction schedule you must derive |
| Delete vectors | 3-6 orders of magnitude cheaper than CoW deletes | Available only if you already gave up cheap reclustering |
| MVCC | Non-blocking concurrency | Chain traversal on hot rows; reclamation held hostage by the slowest reader |