All insights
ArchitectureData5 min read
Database choices that lock you in for a decade
Almost every other architectural decision can be revisited. Your database choice usually can't — not because it's impossible, but because nobody ever has time.
You can rewrite your frontend. You can change your queue. You can swap your auth provider. What almost nobody does, once it's in production with real data, is change their primary database. That decision tends to stick.
Why migrations rarely happen
- Data migrations are scary at scale.
- Application code has hundreds of subtle assumptions about the engine.
- Every framework, ORM, and library is configured for the current choice.
- The benefit of switching usually isn't large enough to risk it.
Choose accordingly
When picking a primary database, optimize for maintainability over the boring next decade — not for the trendy thing this year. Postgres is the boring answer for a reason. Pick it unless you have a very specific reason not to.
Your database choice is one of the few decisions you'll live with for the entire life of the company.