Benefits
▪ Transaction management, that we don't need to span the
transactions over the microservices.
▪ Decrease duplicate data. Since data is fully constrained, we
can easily execute complicated queries with joins.
▪ Able to follow ACID. Consistency of data and state easily
manage when process fails.
Drawbacks
▪ Microservices with shared databases can’t easily scale.
▪ Shared database will become a single point of failure.
▪ Microservices won’t be independent in terms of
development and deployment.