Writings

  • Airbnb's Semantic Layer: MinervaSQL

    Minerva Compute creates 10,000+ materialized tables, and no user can remember which one to query. This final post is about the query layer that hides them: MinervaSQL, rewriting, source selection, and auto-denormalization.

  • Airbnb's Semantic Layer: Compute

    Minerva keeps 10,000+ sources up-to-date across 20,000+ Airflow DAGs. This second post is about the compute framework behind that: change detection, reconciliation, state tracking, and lifecycle management.

  • Airbnb's Semantic Layer: Developer Experience

    Over seven years, Minerva grew into the largest data framework at Airbnb. This first post looks at the developer experience decisions behind it: configuration as code, validation, ownership, and dry runs.

  • Reflections on Airbnb

    I left Airbnb a few weeks ago, a decade after joining in early 2016. This post is part about what I think makes Airbnb unique, and part a recollection of lessons learned over the years.