Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Data Ownership and Database per Service: Why Avoid a Shared Database?
A shared database creates coupling that appears in no contract; each service's data should be private to it, and others should reach it through API composition, a local copy replicated through events, or a CQRS read model. Enforcing the boundary with schema-level permissions in SQL Server, a version-checked copy driven by BookRenamed, the snapshot difference, reference data and CDC for reporting.
Finding Module Boundaries: Business Capabilities, Bounded Contexts and Data Ownership
Module boundaries are drawn by business capability and data ownership, not by technical layer: each bounded context becomes a module and each table gets exactly one writer. Using an EF Core interceptor in Bookstore we measure three modules writing to the Books table and two to Orders, show why the Book inside an Order must be a separate snapshot model, and list the symptoms of a wrong boundary.