Shared Database
ELI5 — The Vibe Check
Shared database is when multiple services all read from and write to the same database. It's simpler than database-per-service but it couples everything together. One service's migration can break another service. It's a shared apartment — convenient but messy.
Real Talk
An integration pattern where multiple services share a single database instance and schema. While simpler than database-per-service (no need for API composition or event synchronization), it creates tight coupling between services, makes independent deployments risky, and prevents polyglot persistence.
When You'll Hear This
"We started with a shared database and it was fine, but now service A's migration keeps breaking service B." / "Shared database is a valid choice for small teams — not every system needs database-per-service."
Related Terms
Coupling
Coupling is how much two pieces of code depend on each other. Tight coupling means changing one breaks the other — like Siamese twins.
Database per Service
Database per service means each microservice gets its own private database that nobody else can touch. No shared tables, no direct queries across services.
Microservice
Microservices is an architecture where instead of one big app, you have many tiny apps that each do one thing.
Monolith
A monolith is one big application that does everything. User management, payments, emails, notifications — all in the same codebase, deployed together.