Splitting the billing schema onto its own instance in 2021, and rejoining it three years later because every report crossed the boundary.
what the split cost, per year:
reports rewritten as two queries plus a join in
application code 7 of them
a nightly sync so one side could read the other's
reference data 1 job, 3 incidents
transactions that spanned
both impossible, so an
outbox where a foreign
key would have done
backup and restore two procedures, one
of which was never
drilled
what it bought: nothing that was used.
The reason given in 2021 was independent scaling, which never happened because the load was never the problem. Rejoining meant restoring seven foreign keys and deleting a sync job, and the reports went back to being one query — the honest summary is that a database boundary is the most expensive boundary available and it should be the last one drawn, not the first.