Building circle-db — Phase 1: Core Data Model (EAV)
Most databases you’ve used store data in rows. A users table has columns — id, name, email — and each row is one user. It feels natural because it mirrors...
A 9-phase series building circle-db — a Datomic-inspired EAV database in Python and Clojure — from scratch. Covers the core data model, in-memory storage, four indexes (EAVT, AVET, VEAT, VAET), the CRUD write path, transactions, query planning, query execution, and time-travel with graph traversal.
Most databases you’ve used store data in rows. A users table has columns — id, name, email — and each row is one user. It feels natural because it mirrors...
The Shelf and the Card Catalog
The Phone Book Problem
The Same Books, Sorted Four Ways
A History Book That Can Never Be Erased
Atomic Writes, Layered History
Choosing the Right Card Catalog
What Does a Query Look Like?
Two Capabilities, Zero New Data Structures