Architecture & System Design › System Design Fundamentals
Hot, Warm and Cold Storage
Tiering data by how often it's accessed.
Also known as: hot warm cold storage, storage tiers, data temperature
Hot, warm and cold storage tiers data by access frequency: hot (SSD/databases — milliseconds, expensive, for live queries), warm (cheaper object storage — seconds, for occasional reads), cold (archive — minutes-to-hours retrieval, cheapest, for compliance and rare restores). Data cools with age, and each tier costs an order of magnitude less than the one above.
hot: last 30 days, SSD/DB (dashboards, live queries)
warm: 30–365 days, object store (ad-hoc analysis)
cold: 1+ years, archive (audit, legal hold)
Tiering is lifecycle policy made physical: TTLs and access patterns move data down automatically, queries target the right tier (or span tiers transparently), and retrieval SLAs match the tier (expeditions from archive take hours — by design).
The classic mistakes:
- Everything hot. Storing years of logs on SSD-backed databases multiplies cost for data nobody queries. Age data down aggressively.
- No lifecycle automation. Manual tiering never happens; policy-driven movement (age, access, legal hold) does. Automate from the start.
- Retrieval surprises. Pulling terabytes from archive takes hours and costs per-GB fees — during an incident, that’s a crisis. Know each tier’s retrieval SLA and price before needing it.
- Deleting what law keeps. Cold storage often exists for retention obligations; premature deletion violates them. Align tiers with legal holds first.
- Cross-tier queries unplanned. Analytics spanning hot and cold need engines that federate (or scheduled warm-ups); assuming one query sees all tiers equally disappoints.
- Rehydration without a path. Data needed urgently from cold needs a tested restore procedure — untested restores fail at 3am.
How to tier: classify by access age, automate movement, match query engines to tiers, and test restores. Storage cost is a lifecycle problem — hot performance, cold price, automation between.