open atlas
↑ Back to track
System Design Foundations SD · 07 · 05

Storage choices: free-recall review

Free-recall prompts across the storage unit. Answer each in your own words first — the SQL/NoSQL trade, access-pattern design, the metadata/bytes split, durability vs availability, time-series and search internals, and the dual-write fix — then reveal and compare.

SD Senior ◷ 14 min
Level
FoundationsJuniorMiddleSenior

Retrieval beats re-reading. For each prompt, say or write a full answer from memory before you open the model answer. The effort of reconstructing the SQL/NoSQL trade, the metadata/bytes split, and the dual-write fix is what makes them stick.

Reconstruct the unit’s spine without looking back: when relational vs each NoSQL family wins, how access-pattern-first design cuts both ways, why blobs never live in the database, how durability differs from availability, what makes time-series and search stores specialized, and how to keep two stores in sync.

Recall before you leave
  1. 01
    Name the four NoSQL families and the access shape each is built for, and the ACID/BASE trade.
  2. 02
    Why does access-pattern-first design cut both ways, and what is polyglot persistence?
  3. 03
    Why never store blobs in the DB, and state the metadata/bytes split with presigned URLs.
  4. 04
    Distinguish durability from availability, and explain lifecycle tiering.
  5. 05
    What makes time-series and search stores specialized, and how do you fix the dual-write problem?
Recap

If you could reconstruct each answer from memory, you hold the unit’s spine. Relational (ACID) is the default for invariants the engine must enforce; the four NoSQL families (document, key-value, wide-column, graph) scale out and are fast for a known access pattern, trading ad-hoc flexibility and, under BASE/CAP, strong consistency. Access-pattern-first design is powerful when patterns are known and brutal when they change, which is why mature systems go polyglot. Large bytes never live in the database — metadata in the DB, bytes in object storage, served by presigned URLs so the app tier is never a pipe — and durability (bytes exist, ~11 nines) is not availability (reachable now), with lifecycle tiering tracking cost to coldness. Time-series stores (LSM, downsampling, retention) and search engines (inverted index) are specialized for write shape and text, added on a measured limit and treated as derived indexes whose dual-write consistency is solved by deriving from one authoritative commit (CDC or outbox), never two independent writes. The thread: storage design is choosing which guarantees you need and which costs you can pay.

Something unclear?

Ask a question about this lesson. Questions are anonymous and go straight to the author to make the lesson better.

shortcuts expand
search
K
prev piece
k
next piece
j
cycle tier
t
this menu
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.