4 hours ago
- Data modeling (representation of meaning) is distinct from schema design (physical implementation), but they are often conflated.
- Historically, the relational model by Codd emphasized data independence, yet physical schemas became dominant, and ORMs and dbt further blurred the term 'model'.
- Data modeling is a linguistic/political exercise focusing on what things exist, their definitions, relationships, rules, and change over time.
- Schema design deals with tables, indexes, partitions, and engine-specific mechanics, and it is downstream of the data model.
- One data model can support multiple schemas (e.g., relational, JSON, Parquet), while one schema can silently support conflicting models leading to inconsistent answers.
- Machines (AI/agents) lack the tribal knowledge that humans use to compensate for broken models; semantic layers often hide unresolved modeling decisions.
- Ignoring data modeling leads to painful migrations, integration archaeology, governance drift, AI underperformance, and team disputes over naming.
- The core questions: data modeling asks 'what does this represent?'; schema design asks 'how should we implement it?' Meaning must outlive structure.