TETRA: One representation, stored, sent and computed as it is

7.5 HH
SHEET
THE FILM
SUBJECT
THE TECHNICAL CUT
SURFACE
What this sheet is drawn on

One representation, stored, sent and computed as it is

THE FILM THE TECHNICAL CUT 1:49

Built on the pattern hardware hates

1970NOWPROCESSORMEMORYTHE SAME SPEEDFETCHING ONE PIECE COST NOTHINGONE PIECE, THEN ANOTHER, MILLIONS OF TIMESTHE DESIGN NEVER CHANGEDPROCESSORA THOUSAND TIMES FASTERMEMORYBARELY MOVEDWAITINGTHE GAPBLOCKBLOCKBLOCKBLOCKEVERY HOP A RANDOM ACCESS. THE PREFETCHERS SIT IDLEAN INDEXA CACHEA REPLICAA QUEUEBUILT ON TOP, NOT UNDERNEATH: A WORKAROUND EACH

ACT 1 OF 8 · DRAWING · 1:49

ACT 01, THE HOP

Databases were designed in the 1970s, when a processor and its memory ran at about the same speed, so fetching information in scattered pieces cost nothing. Processors then got faster by orders of magnitude and memory barely moved, and the fetching became the expensive part.

The design never changed. Records live in typed, fixed-size blocks and relationships are pointers resolved by descent, so every hop is a random access and the machine chases addresses while its prefetchers and vector units sit idle. An index is then a copy of data pointing at data, maintained on every write.

Nobody went back to the foundation. They built on top of it: indexes, caches, replicas, queues, and eventually whole buildings full of machines, each a workaround for the same flaw.

[ see THE PROBLEM, ON THE TREE ]