01 Storage & Data Layout
Before a query can run, the data has to be *arranged* and *stored* somewhere. The choices made at this
level — how a record's fields are laid out, which storage medium holds them, how redundancy is added,
and how concurrent versions are kept — shape everything above.
• [**Row vs. Column Layout**](<Row vs Column Layout.md>) — storing records field-after-field vs.
column-after-column, and why analytics prefers columns.
• [**The Storage Hierarchy**](<The Storage Hierarchy.md>) — caching across layers (DRAM → SSD → …),
eviction, and prefix addressing.
• [**RAID Cost Modeling**](<RAID Cost Modeling.md>) — combining devices for throughput and resilience,
and reasoning about the trade-offs with a cost model.
• [**MVCC & Versioned Stores**](<MVCC & Versioned Stores.md>) — keeping multiple versions of a value so
readers and writers do not block each other.