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¶
- sources/2026-06-09-airbnb-scaling-beyond-one-data-architecture โ Principle 2 of Airbnb's three-product data architecture framework