One Datastore per MicroService?

This article represents details on whether to use single datastore per microservice. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.

From what I researched, the preferred architecture for microservices is polyglot persistence pattern. ( ). You could further read about this on following pages:

As per the best practices, each micro-service should have one database private to it. There are different ways to achieve the above objective. Some of them are listed below:

  • Same database system for different services. In this following could be done:
    • Different set of tables specific to microservice in the same database
    • Different database schema but in the same database server
    • Different database server
  • Each service can use different database systems. For example, RDBMS, MongoDB etc.

Following diagram represents one datastore per microservice. (courtesy: MartinFowler page on MSA)














Following is another page representing MSA best practices from NetFlix. It highlights creating separate datastore for each microservice.

Ajitesh Kumar
Follow me

Ajitesh Kumar

I have been recently working in the area of Data Science and Machine Learning / Deep Learning. In addition, I am also passionate about various different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia etc and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data etc. I would love to connect with you on Linkedin.
Posted in API Development, SOA. Tagged with .

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.