Lectures
Read from the original papers, cited to the page, with pieces you can try. The Foundations track is free.
Foundations
FreeWhere the relational database came from, read in the papers that built it.
Lecture I.1 · Foundations
What a database is, and where it came from
From punched cards in the 1890 census to tape, disk, the navigational databases of the 1960s, the relational model, SQL and Postgres: what a database does that a folder of files cannot, told from the people who built each step.
- ≈ 11 min read
- 1 to try
- 4 checks
- 13 sources cited
The relational model, from the paper that started it
A close reading of E. F. Codd's 1970 paper, A Relational Model of Data for Large Shared Data Banks: the problem it set out to solve, what a relation is, keys, the first normal form, joins, the connection trap and consistency. Every claim cites the page it comes from.
2 to try · 4 checks · 7 sources
Where SQL came from
Why does the language you write every day look the way it does?
Where Postgres came from
What was it built to fix, and how is it put together?
Transactions
What does it take for a change to be all or nothing?
Other shapes of data
When do documents, graphs or key-value pairs fit better than tables, and what do they cost?
Inside the engine
SubscribersHow a database finds a row, keeps it safe, and lets many people at it at once.
B-trees
How does one lookup among a billion rows touch only a handful of pages?
The write-ahead log
How does a database survive losing power halfway through a write?
MVCC and isolation
How can readers and writers avoid blocking each other, and what can still go wrong?
The query planner
How does the database decide how to run the query you wrote?
Locks and deadlocks
Who waits for whom, and how does the database notice two transactions waiting forever?
Vacuum and bloat
Why does a table that is updated all day grow, and what cleans it up?
Analytics at scale
SubscribersWhy the database behind a dashboard is not the database behind the app.
OLTP and OLAP
Why do companies keep the same facts in two very different databases?
The star schema
How is a warehouse modelled, and why is it denormalised on purpose?
Column stores
Why does storing a table by column make analytics so much faster?
From MapReduce to the lakehouse
How was data too big for one machine processed, and why did SQL come back?
Streams and change data capture
How does every change in one database reach the warehouse, the search index and the cache?
Time-series data
How are millions of metrics and events a second stored, and still queried fast?
Counting with sketches
How can a few kilobytes count a billion distinct users, and how wrong can it be?
Distributed databases
What do you give up when one database becomes many machines?
Data for AI and machine learning
SubscribersThe databases behind embeddings, retrieval and models running in production.
Embeddings as data
What is a vector, and how do you store and compare millions of them?
Vector indexes
How do HNSW and IVF find the nearest neighbours without reading everything?
Search before vectors
How did search work before embeddings, and why do the best systems combine both?
The database behind RAG
How are documents, chunks and embeddings modelled so answers stay current?
The database behind a chat app
How do conversations, tokens and usage limits become tables?
Recommendation data
What does a recommender store about who liked what, and how does it answer in milliseconds?
Memory for AI agents
What does an AI agent need to remember between conversations, and where does it keep it?
Training data
How do labels, splits and leakage shape the tables a supervised or unsupervised model learns from?
Feature stores
How does one feature reach both the training set and a live prediction, unchanged?
Machine learning in production
What do the systems large companies published say about the data around a model?
Data quality
SubscribersClean data is data the schema refused to let in dirty.
Data quality as constraints
Which of the dirty data in a real table would a constraint have refused?
Deduplication and entity resolution
When are two rows the same person, and who decides?
Cleaning a table in production
How do you fix bad data without taking the application down?
Privacy and deletion
What does it take to truly delete a person from every table, backup and log?
Schema evolution and data contracts
How does a team change a schema without breaking everyone who reads it downstream?
