~/talk

Firebolt: Why Powering User Facing Applications on Iceberg is Hard

linkedin:wagjamin
slides:none on file

Firebolt adds Iceberg support but finds Iceberg’s hierarchical metadata and object storage latency create a ~0.5s baseline for cold queries, so Firebolt caches table snapshots in memory with a user-configurable staleness and refreshes them async to avoid S3 hops. It exposes a SQL TVF to list snapshot files for cardinality (uses Iceberg row counts but limited other stats), implements fire cache fingerprints to reuse hash joins (about 10x reuse in early metrics), uses coroutine-based Parquet readers with a sparse buffer manager reading 2 MB buffer blocks, row-group pruning (no page pruning), and bucket-aware file assignment to avoid shuffles; on a 1 TB TPC-like dataset a complex join scans 18 GB and runs in ~8.5s while many variants return sub-second via cache reuse.

AI-written summary · about

  1. 0:00Introduction and context
  2. 1:47Apache Iceberg 101
  3. 4:58Challenges of low latency
  4. 11:13Metadata caching strategy
  5. 13:11Query planning optimization
  6. 20:50Partition-aware execution
  7. 26:14Data pruning techniques
  8. 28:55Sub-result and result reuse
  9. 37:59Scalable scan architecture
  10. 45:08High-performance Parquet reading
  11. 57:01Demo and final discussion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.