All articles
We’re starting with databases and storage. These are the working drafts you can read now; planned outlines are in the relational collection.
Start here
-
Databases and storage: a field guide
The main approaches to storing data, the problems they solve, and when to choose them.
-
Relational databases: an introduction
Tables, relationships, queries and reliable changes.
Practice
-
Start the SQL practice
Open PostgreSQL, load the shop records and choose the setup for each article.
Designing your data
-
Designing a relational schema
Work from an application's facts to tables, relationships, and a design that survives change.
-
Constraints
Make the database enforce your schema's rules, and recognise where those rules stop.
-
Tables and JSON
Choose what belongs in columns, related rows, and a document inside a record.
Querying your data
-
Queries and joins
Follow records through filters, joins and totals, and see where extra result rows come from.
-
Pagination and large results
Compare ways to continue through a result when records can change between pages.
Transactions and concurrent work
-
What belongs in one transaction?
Choose which changes need to succeed or fail together.
-
When two requests change the same data
Explain how overlapping requests can break an application rule.
-
Isolation and snapshots
See which changes a transaction can read, and why a stable view does not prevent every race.
-
Handling waits, deadlocks, and retries
Respond correctly when a transaction cannot proceed or its outcome is unknown.
A worked example
-
How a relational database keeps an order together
A worked checkout, from related records to concurrent purchases and recovery.
Other database and storage approaches
-
How a column store works
Column layouts, sorting, writes and replication, with four experiments.
-
How document boundaries shape a database
Nested records, shared details and the consequences of choosing a document boundary.
-
Choosing keys for partitioned data
Partition keys, sort order and the cost of another access pattern.
-
Keeping a transaction together across machines
Partitions, replicas and coordination in a distributed SQL database.
-
Keeping a copy of the answer
Cache hits, invalidation, expiry and eviction.
-
Finding the blue mug
Search indexes, tokenisation, ranking and vector filtering.
-
How a graph database follows relationships
Traversing connections, handling cycles and updating a graph.
-
What object storage gives you
Object keys, photographs and publishing a complete export.
Assessments
-
Can Postgres handle vector search for my application?
A dated assessment of pgvector, retrieval quality and operating costs.
No articles match that search. Try a shorter term, or clear the search to see everything.