Skip to content

PATTERN Cited by 1 source

Product-specific vs. generic identifiers

Intent

Tie identifier naming conventions to the modeling choice so that the data model approach is self-documenting at the column level and table joins are reliable across the warehouse.

How it works

  • Separate models โ†’ use product-specific IDs: id_experience, id_service, id_home
  • Monolithic models โ†’ use a generic product descriptor ID: id_product_listing + a discriminator column: dim_product_type (values: Homes, Experiences, Services)

This convention is enforced as a foundational principle (Source: sources/2026-06-09-airbnb-scaling-beyond-one-data-architecture).

Rationale

  • Prevents accidental cross-product joins on separate tables (IDs are explicitly typed)
  • In monolithic tables, the discriminator column makes product type queryable without magic values
  • Schema is self-documenting: a reader can infer the modeling approach from column names alone

Seen in

Last updated ยท 542 distilled / 1,571 read