Retention is paid by the live path
What it is
A snapshot also has a continuous cost. Once a snapshot exists, every overwrite in the live data must allocate a new block instead of overwriting. So the live workload pays continuously for the snapshot's existence, in write amplification and pool space, for as long as the snapshot is kept. A forgotten snapshot on a CoW pool is a slow-motion outage. This is the same shape as undo pinned by the oldest read view (Logs and undo: making "yes" cheap).
From Persistence & Durability › Snapshots
Where it appears
In 6 mechanisms. Each says what the mechanism is about, then how this principle shows up there, in its own words.
- Persistence & Durability
When a system says "yes, your data is safe", what exactly has it promised, and what did it have to do to keep that promise?
Retention is paid for by the live path, not by the retainer.
Read it inLog truncation and retention policiesUndo loggingSnapshots: full, incremental, copy-on-write
- Core Data Structures
How do we choose a data structure when the real cost is set by the hardware, not by Big-O?
And that collector's progress is bounded by the slowest reader, not the average one.
- Transactions & Concurrency Control
What happens when many users change the same data at the same time, and how do we keep the result correct?
One long-running read pins the entire version space.
Read it inMultiversion concurrency control (MVCC)
- Cost Mechanics
What is metered, and what is the smallest increment you are charged for?
A decision with an unbounded, attributable downside and a small, diffuse upside has exactly one stable default: accumulation.
Read it inLifecycle, tiering and retention
- Streaming
What does it cost to remember, when the input never ends?
Every stream-stream join is an interval join, whether the bound is written in the predicate (ON o.id = c.order_id AND c.ts BETWEEN o.ts AND o.ts + INTERVAL '10' MINUTE) or only implied by a watermark plus allowed skew.
Read it inStream-stream joinsStateful operators and the state-size arithmeticThe governing question and its five answersComplex event processing
- Change Data Capture & Incremental Processing
What does it cost to know what changed, and is that cheaper than not needing to know?
In one line: log-based CDC is free at write time and expensive at retention time, because it makes your liveness the source's problem.
Read it inLog-based CDCReplay and dual-write avoidanceWhat change data capture forbids, and what escaping costs
Related
Made on the same pages most often.