Back to Catalog
Microservices
Data Management
Database per Service
Each service owns its data — no shared databases, no schema coupling.
Intent & Description
Real-world Use Case
Order Service uses Postgres, Product Service uses MongoDB, Search Service uses Elasticsearch. Each team deploys schema changes independently. No coordinated migrations across services.
Source
📌 TL;DR
Your service, your database, your rules. No shared schemas. Pay with eventual consistency, gain with true independence.
Advantages
- True loose coupling — services can change their schema freely
- DB tech can be chosen per use case (polyglot persistence)
- Failure isolation — one DB going down doesn’t cascade
- Independent scaling per service’s data access pattern
Disadvantages
- Cross-service queries require API Composition or CQRS
- Distributed transactions need Saga pattern (no ACID across services)
- Data duplication between services is unavoidable
- Harder to maintain global data consistency