TL;DR: keep your data-layer simple, you’ll need the agility it offers when budgets get stretched.
Over the past 12 years of helping people run databases for their businesses, I have discovered that there are only 2 financial phases in the lifecycle of a database:
- Phase 1: Absolute costs are low, thus marginal costs do not matter.
- Phase 2: Absolute costs are high, thus marginal costs are all that matter.
I'm calling this difference between Phase 1 and Phase 2 the "database financial gap."