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 ]