Data ownership is architecture

The hard part of databases is rarely SQL syntax. It is deciding who owns a fact.

If every service reads every table, the system becomes one large distributed shortcut.

Good boundaries look like this:

  • One service owns writes
  • Other services consume events or APIs
  • Reports read from dedicated projections

That discipline feels slower at first. Later, it saves migrations, incidents, and meetings.