← Back to microservices patterns map
🗄️
Microservices Pattern

Database per Service

Each service owns its database and no other service reads or writes it directly.

data

Detailed Description

Data ownership is one of the strongest service boundaries. A service API becomes the only allowed access path.

This enables independent evolution but pushes cross-service read needs into composition, projections, or events.

Visual Diagram

UserService -> User DB
OrderService -> Order DB
PaymentService -> Payment DB
No cross-DB access

Tradeoffs

Pros

Loose coupling, independent schema changes

Cons

Cross-service queries become harder

Examples: Microservices data ownership best practice