Skip to content

v0.1.0 — FBSimCity

Choose a tag to compare

@mariuz mariuz released this 27 Jul 09:32

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