Skip to the content
Software Made Clear Diagrams that show the mechanism About

A field guide to software and interface design

Software, made clear.

Understand software and interface design through diagrams you can actually explore.

FOLLOW A WRITE TO DISK

Interactive STEP 1 / 6
01API handlervalidates, opens a transaction02page cachecan avoid disk reads03B-tree indexordered path to a key04heap file and write-ahead logwhere durability is decidedWRITEREAD01 — 04 / STORAGE JOURNEY→API handlervalidates, opens a transactionpage cachecan avoid disk readsB-tree indexordered path to a keyheap file and write-ahead logwhere durability is decidedwriteread
A write arrives. It has been validated and a transaction is open — nothing is durable yet.

What do you want to do?

Help me choose →

Start with the problem you recognise. You don’t need to know the technical term.

THE LIBRARY

Follow your curiosity.

Browse by subject, then pick the question that catches your eye.

Explore all 189 articles
190PUBLISHED PAGES7LEARNING PATHS5LIVE VISUALISERS0PAYWALLS

Start where the writing is

See all 7 paths →

PERSISTENCE · 7 / 7 WRITTEN

How a database keeps your data

How a database actually keeps your data, in the order that makes each step explain the next. Seven steps from a row on a page to a deadlock in production.

Pages, heaps and tuplesWritten
The write-ahead logWritten
B-Tree vs LSM-TreeWritten
OLTP vs OLAPWritten
Why PostgreSQL is not using your indexWritten
Isolation levelsWritten
Deadlocks, seenWritten
Open the full map →

EXPLORE THE OTHER PATHS

5030204070608050302040706080

NOT A SCREENSHOT — TRY IT

Insertion order decides the shape.

A drawing can only show one tree. Feed this one values and the shape follows the order you chose — with the height and the best possible height side by side as they come apart.

This tree is close to its best possible shape: a lookup costs at most 3 comparisons for 7 values.

Whole numbers 1–999; up to 18 distinct values. This model compares tree shape, rather than measured search time.

All 5 visualisers →
NODES7
HEIGHT3
BEST POSSIBLE3

HOW THIS IS WRITTEN

Every claim here is checked before you see it, and the page tells you what against.

Written by Sören Striewski · How this is written →

The picture carries the point

Every mechanism gets a diagram built to show that mechanism, and the prose only covers what the picture cannot. If a topic has no mechanism, it gets a table and a straight answer instead.

Traceable, not paraphrased

Nothing is written from other people's explainers. Technical pages name the documentation, specification or source code they were checked against, and the date. Pages about practice and career name the case they came from instead — a review that went wrong, an estimate that had to be defended — because judgement has no version number. Either way you can go and disagree at the source rather than take it on trust.

Free, and quiet

Every explanation and diagram is free to use without an account.

MAINTENANCE

How current is what you are reading?

Every article carries a last verified date, which means someone re-read it against the current behaviour — not that a typo was fixed. Anything older than six months is queued for review, and new pieces go out on the feed.

Follow new articles as they publish