Database per service means each microservice owns its own private database, and no other service may read or write it directly. Other services must go through the owning service's API.
How it works
text
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Orders │ │ Payments │ │ Users │
│ service │ │ service │ │ service │
└────┬─────┘ └────┬─────┘ └────┬─────┘
▼ ▼ ▼
ordersDB paymentsDB usersDB ← private, no cross-access
If Orders needs user data, it calls the Users API — it does not query usersDB directly.
