Overview

While common in monolithic applications, a shared database in a microservices architecture leads to tight coupling. A change to the database schema by one service can break others, and it becomes difficult to determine which service 'owns' the data.

Drawbacks

  • Development Bottlenecks: Teams must coordinate every database change.
  • Scalability Issues: The database becomes a single point of failure and a performance bottleneck.
  • Lack of Isolation: One service's heavy queries can impact the performance of all others.

When to Use

Generally avoided in microservices, but sometimes used as a temporary step during a migration from a monolith.

Related Terms