One of the key challenges in the development of microservices application is to decide the backend layer. I have developed using the single instance of a database (MariaDB) with various databases shared across services which I believe contradict with the basic fundamental of microservice.
After further research, I found out the database needs to be divided as well and should have no dependency between each other.
We can either do database per service and share single/cluster instance of the database or run a seperate database instance for each micro service.
Which one you guys think is best and correct approach.