Is shared database an anti-pattern?
- Why shared database is a anti-pattern?
- What is a shared database?
- Why microservices should not share database?
- Is it a good idea for microservices to share a common database?
Why shared database is a anti-pattern?
Why a shared database is considered an anti-pattern in the microservice architecture. Data sovereignty is a rule that states that each microservice owns its domain data and logic. Other microservices that wanted to access or modify that data, will need to pass for the microservice itself for doing it.
What is a shared database?
The shared database paradigm is a common development workflow where all developers on a team share access to one database that they all use to support application development. This workflow is usually adopted because it's easy. There is no need to provision infrastructure for each engineer, so setup costs are minimal.
Why microservices should not share database?
Microservices with shared databases can't easily scale. Changes related to the database could impact multiple services. Besides, microservices won't be independent in terms of development and deployment as they connect to and operate on the same database.
Is it a good idea for microservices to share a common database?
I've seen folks refer to this idea in part, trivially, as “each microservice should own and control its own database and no two services should share a database.” The idea is sound: don't share a single database across services because then you run into conflicts like competing read/write patterns, data-model conflicts ...
Related Questions
-
Anonymous2 weeks ago
Expert answer2 weeks ago -
Anonymous2 weeks ago
Expert answer2 weeks ago -
Anonymous2 weeks ago
Expert answer2 weeks ago -
Anonymous2 weeks ago
Expert answer2 weeks ago -
Anonymous2 weeks ago
Expert answer2 weeks ago -
Anonymous2 weeks ago
Expert answer2 weeks ago -
Anonymous2 weeks ago
Expert answer2 weeks ago