v0.1.0 — FBSimCity
The first build of FBSimCity — an explorable isometric city that shows how the Firebird database actually works, with the block structure taken from the Conceptual Architecture for Firebird paper and the idea from PGSimCity.
The city
- Sixteen buildings across six districts: REMOTE harbor and Y-valve, the DSQL translation quarter (lexer, parser, BLR generator), JRD downtown (compiler & optimizer, execution hall, metadata library, security gatehouse, B-tree gardens, sort yard, transaction hall), the lock manager tower, VIO record-version towers with a sweep & GC depot, the CCH page-cache plaza, and the database-file excavation ("careful writes — no WAL needed")
- Query particles commute the full pipeline; cyan for SQL, violet after BLR compilation, green carrying results home, red for deadlock victims
The simulation
- Multi-generational record versions: every UPDATE stacks a version; towers grow and redden as chains lengthen
- Live Next / OAT / OIT transaction markers on the Transaction Hall facade
- Cooperative garbage collection plus an interval sweep with a touring truck — correctly stalled while a long-running transaction pins the OIT
- LRU page cache with hit/miss/dirty flashes and disk detours on misses
- Lock waits with occasional deadlock rollbacks
The interface
- Ten-stop guided tour, clickable building stories sourced from the paper, control room (query rate, write mix, cache size, sweep interval, long-running-transaction switch), live stats bar, pan/zoom/touch camera
Zero dependencies, no build step — plain HTML, CSS and JavaScript on a 2D canvas.
Known issues
- Cache hit ratio settles far below production-realistic values at default settings
- The simulation is a scaled model for intuition, not an emulator; corrections welcome