Costs are conserved
Costs are conserved, never removed.
What it is
Every design that seems to remove a cost has moved it: across time, space, energy, money, complexity, or to someone else (writer vs. reader, device vs. host, build time vs. run time, your team vs. the on-call team).
- LSM-trees do not remove write amplification. They move it from the device into background compaction.
- Compression does not remove space cost. It turns it into CPU cost.
When you hear "free win", do not ask "is it true?" Ask "which axis absorbed the cost?" If nobody can answer, it is marketing.
From Physical Substrate & Performance Laws › Seven root causes
Costs are conserved: they only move. This is the most important one. Every mechanism here moves a cost somewhere else instead of removing it: from the writer to the reader, from time to space, from your team to the on-call team. When you hear "free win", ask which party absorbed the cost.
From Data Movement › The epistemic limit
Where it appears
In 26 mechanisms. Each says what the mechanism is about, then how this principle shows up there, in its own words.
- Physical Substrate & Performance Laws
Why do trade-offs exist at all?
When you hear "free win", do not ask "is it true?" Ask "which axis absorbed the cost?" If nobody can answer, it is marketing.
Read it inSeven root causes: why trade-offs exist at allDisk and flashWhy these limits last
- Data Movement
How do records cross between two systems that have independent rates, independent availability and independent lifetimes, and what are you willing to lose when the assumption underneath the crossing breaks?
The general lesson reaches well beyond networking: multiplexing moves head-of-line blocking down one layer instead of removing it.
Read it inWhat changed: the epistemic limitPartitioning: the four strategiesPriority routing and multiplexing
- Storage: Physical Organization
What should sit next to what, given that I must decide at write time and find out at read time?
"Transactions on S3" is a phrase that moves a coordination point and does not remove one.
Read it inObject storage and the lakehouseData at rest and the one ratio
- 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?
You traded a stall you could schedule for a cliff you cannot, and its position depends on your workload.
Read it inCheckpointing: sharp, fuzzy, incrementalTwo liabilities: recovery and spaceLog truncation and retention policiesWrite-ahead logging (redo)End-to-end checksums, scrubbing and bit-rot detection
- Core Data Structures
How do we choose a data structure when the real cost is set by the hardware, not by Big-O?
This is the third time we meet one powerful idea: arrange the structure so that growth does not relocate anything.
Read it inConcurrent hash mapsB-trees and B+treesPaying for the mismatch between arrival and access order
- Indexing
When does a separate "where is it?" structure pay for itself, and what does it cost to keep it true?
The constraint was not eliminated; it was moved somewhere it hurts less.
Read it inClustered versus non-clustered: the only lever on pages touchedWhat index anatomy forbids
- Transactions & Concurrency Control
What happens when many users change the same data at the same time, and how do we keep the result correct?
This is the cleanest instance of "costs are conserved" in this whole mechanism: the uncertainty is conserved, and you choose where it is billed.
Read it inBounded clock uncertaintyTransactional outboxMultiversion concurrency control (MVCC)Savepoints and group commitWhy concurrency is a different kind of problem
- Consistency & Isolation Models
When many users, many objects and many copies exist at once, which histories does the system promise never to show, and who writes the code for the histories it does show?
The lease row is the sharpest example of cost relocation in this article: a lease buys read locality by substituting an unverifiable assumption for a message.
Read it inThe latency floor: one conservation law, four productsSession guaranteesExternal consistency, and what is verifiableHighly available transactions and invariant confluenceWhat consistency forbids
- Query Processing
Why can one question be answered by plans whose costs differ by a factor of ten thousand, and what does each operator force the engine to do?
The shuffle's cost was relocated into memory, not removed.
Read it inBroadcast, shuffle and runtime filtersFrom what to how: why a query has many plans
- Query Planning & Optimization
How does a system choose a plan for a question when the facts that decide the best plan are unknown until the plan has run?
Notice what unites the list: every escape moves cost to write time or to space.
Read it inPushdown: negotiation and the ladderWhat data reduction forbids
- Memory & Resource Management
Who is allowed to hold how much memory, for how long, and what happens to the work when the answer is less than it asked for?
An arena turns a memory-rate problem into a memory-peak problem.
Read it inArenas and region allocationOff-heap memory management
- Caching
What happens when we deliberately keep a second copy of data that no protocol forces to be correct?
They are exactly the three things any conflict-resolution scheme can pay with: waiting, wasted work, or weaker guarantees.
Read it inStampede: Little's Law as a count of duplicate workVersioned keys are MVCC, and the bill goes somewhere newMaterialized views: a cache whose admission was declared
- Distributed Systems Coordination
Who is allowed to decide, and how does everyone else learn the decision without asking?
The compression that matters: single-leader replication converts a distributed-systems problem into a failure-detection problem.
Read it inReplication topologies: where is the serialization point?The four escapes and the three currencies
- Fault Tolerance & Delivery Semantics
What is the cheapest thing that can be safely done twice?
So the escape is real, but it follows the "costs are conserved" principle exactly: you move the cost from the retry path to the concurrency path.
Read it inIdempotency: the three sourcesCheckpoints and lineage: save the state or the recipeWhy failure recovery is a different kind of problem
- Emergent Failure Dynamics
What happens when nothing is broken, every component is healthy, and the system's own response to stress makes the stress worse?
> Deferral is a loan against a resource you will still need, and the interest rate rises with the balance.
Read it inThe system is its own clientCache stampede (dynamics only)Work amplification under load
- Scheduling & Workload Management
Which work runs now, which work waits, and who pays for the waiting?
> Preemption relocates delay with friction.
Read it inPreemptionWhat ordering forbidsThree questions, one tension, and conserved work
- Cost Mechanics
What is metered, and what is the smallest increment you are charged for?
Three escapes exist, and each moves the cost and does not remove it:
- Time & Temporal Semantics
When am I allowed to act on data that may still be incomplete, and what do I owe the reader if I was wrong?
This is the conservation of cost with no disguise.
Read it inWhich clock keys the partitionRetractions, upserts and changelog semanticsThe three ways out of incompleteness
- Streaming
What does it cost to remember, when the input never ends?
Backpressure converts a memory problem into a lag problem, and the log is what makes that conversion safe.
Read it inBackpressure propagationCheckpointing: a consistent cutStreaming removes the end
- Change Data Capture & Incremental Processing
What does it cost to know what changed, and is that cheaper than not needing to know?
The trade is stark: log-based pays in retention coupling, trigger-based pays in source latency.
Read it inTrigger-based CDCThe arithmetic that governs everything
- Table & Storage Maintenance
Who pays for the gap between the order data arrives in and the order it is read in: the writer, every reader, or a background job, and what is the break-even?
What remains here is the bill: evolution is free going forward, but repartitioning history is a full rewrite, bounded by the number of bytes.
Read it inPartition evolutionWhat maintenance forbidsThe first work nobody requested
- Data Modeling
What does one row mean, who is allowed to change that answer, and what breaks downstream when they do?
Who pays for the join: the modeler once, or every consumer forever.
Read it inA layer with no oracleData VaultConformed dimensions, the bus matrix, role-playing dimensions and reference dataMedallion layering
- Orchestration & Workflow
How do you make unreliable, unobservable, irreversible side effects behave like a pure function of a time interval?
Re-execution must converge to the same state as single execution.
Read it inIdempotent task design and completion verification
- Observability & Operations
What is the smallest description of a running system from which we can find a fault, fast enough to matter, at a cost we can still pay while the system is failing?
So the rule is: counters are loss-tolerant; gauges are limited by the sampling rate.
Read it inMetrics: counters, gauges and histogramsWhat observability forbids
- Security & Privacy
How do you protect data from someone who watches your design and then chooses how to attack it?
You have traded a correctness problem for a throughput problem.
Read it inShort-lived credentials and vendingEncryption makes data as secret as the key
- Interfaces & Formats
What can two parties agree on when they cannot talk to each other?
In one sentence: whoever chooses the response shape absorbs the mismatch.
Read it inJDBC, ODBC, REST and GraphQLText formats: CSV, JSON and XML
Related
Made on the same pages most often.