Thank you, Sundeep, for an excellent article. However, there are compelling reasons not to have a separate datastore for every microservice that requires a data store.
There are many applications for which ER models are an intrinsic part of their function. In those cases, for the purpose of scalability and failover, it is appropriate to use database replication across multiple servers. Of course access to that data must only be through microservices specifically for that purpose.
https://medium.com/nerd-for-tech/building-cloud-native-apps-part-1-393d250cf107