My understanding is that separate data store per service is a best practice in microservices architecture. This Nginx article mentions that, but it goes on to advocate a Master Data Management system for ensuring consistency of data across disparate data stores. How can both coexist peacefully? It seems to me that each individual service would be competing with the MDM solution for "owning" the rights to create/update/master data.

I'd love to hear from anyone that has an MDM solution plus separate data store per service. What MDM tool(s) are you using? Doesn't each service "master" its own data - e.g., shouldn't Order data be written ONLY via the Order microservice? If the MDM solution detects a problem with regard to data consistency around Order data, does it instruct the Order service to reconcile it - or does this happen in the MDM tool?

Also, how do you stand up an MDM solution without introducing undesirable coupling between services and the MDM solution? Teams developing services should be able to change schema as needed, but an MDM solution would need to know the intimate details of schema and thus be tightly coupled right?

  • Typically Microservices are implying a stateless applications, while MDM would imply persistence. – A.Rashad Nov 8 at 22:00
  • Thanks for the comment, but as the Nginx article states, many microservices DO in fact persist data using a one data store per service pattern. – Andy Nov 8 at 22:03
  • I recall back when we implemented an MDM solution (for our monolithic applications) we nominated golden truth for each aspect, and ignored the rest. – A.Rashad Nov 8 at 22:14
  • 1
    It seems to me that each individual service would be competing with the MDM solution for "owning" the rights to create/update/master data. if they are not Master Data Service, they have no rights. – Laiv Nov 9 at 8:11

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.