Schemas, consistency, and migrations — the choices that are hardest to undo
If architecture has one true one‑way door, it’s data. Your data model shapes everything: APIs, performance, analytics, and migrations.
Decide which system “owns” each piece of data. Without ownership, you get split‑brain behavior.
Pattern: One owner, many consumers.
This decision drives your choice of databases, caches, and event flows.
Data changes over time. Plan for it:
Choose based on change frequency and the cost of bad data.
Q: Why are data decisions considered one‑way doors?
<details> <summary>💡 Reveal Answer</summary>Because changing data models later requires migrations, backfills, downtime windows, and often coordinated changes across services. Undoing a data decision is rarely cheap or fast.
</details>Full access
Unlock all 12 lessons, templates, and resources for Software Architecture & Decision Patterns. Free.
Create a data decision sheet:
Scenario: Product wants rapid experimentation on a new “custom fields” feature. Engineering worries about messy data.
What’s your call?
Use a hybrid approach: keep core fields in a relational schema, but store experimental custom fields in a JSON column or side store with validation at the edges. This preserves integrity for core data while enabling fast iteration.
| Idea | Remember This |
|---|---|
| Data is durable | Data decisions are hardest to reverse |
| Ownership | One system owns, many consume |
| Consistency | Match the business risk |
| Evolution | Plan migrations from day one |
Next: Communication Patterns: Sync, Async, and Events