Juri Strumpflohner
Juri Strumpflohner Juri is a full stack developer and tech lead with a special passion for the web and frontend development. He creates online videos for Egghead.io, writes articles on his blog and for tech magazines, speaks at conferences and holds training workshops. Juri is also a recognized Google Developer Expert in Web Technologies

Why You Should Avoid a Canonical Data Model

1 min read

Stefan Tilkov writes about why canonical data models can be a bad thing. Totally agree as I’ve come across this by myself as well.

Instead of trying to define one model for the entire application/service landscape, it would rather be a lot more productive to focus and define the data responsibility.

In the sense that rather than defining a canonical data model that describes a person with it’s addresses, credit card number and whatever you need to have for a person, you should rather focus on defining a service that is responsible for handling the information related to a given person. That given service has an API that allows to retrieve/update/whatever the data related to a given person. Other services can query that service and know they’ll get the up-to-date information. That doesn’t mean other services won’t have data about a person (for convenience reasons), but they have to make sure it stays up-to-date with the one service holds the “truth”.

Personally, I never saw the one thing to rule them all work in practice so far…

Questions? Thoughts? Hit me up on Twitter
comments powered by Disqus