It lets people in your organisation find information without having to know what systems to look in.
So what makes a good one and how to you build it? In this series I’ll give an overview from our experience of building and deploying datamodels for the last 12 years (as well as my own personal experience before that).
This blog is an overview and in subsequent blogs I’ll take each topic in more details
So here’s the list of things that we have found are important in a good data model:
- Non-hierarchical: in many cases hierarchies are subjective and only relevant from one viewpoint
- Flexible: You will never know all the use cases for your data model and so in practice you will be always improving it
- A class library: being able to identify object types (classes) with reference to a set of standard definitions of such objects is essential if you want to build advanced functionality and integrate data across assets
- Validated: it doesn’t matter if your data model does not cover everything, but it does matter that the information in it is correct and complete
- Accessible via REST APIs
- Don’t worry about data deduplication: efficient storage is not a concern, information richness is
- A pragmatic approach to objects vs properties
Oh, and there’s one bit of really good news I can share: you don’t have to get it right first time! In the old days you had to commit to a “data schema” and it was hard to change. There are usually many ways to structure the data to solve a problem, but how could you be sure you’d picked the “right” one? Well now you don’t have to worry! With the latest generation of graph database technologies you can model things in multiple ways simultaneously.
Do get in touch if you want to talk more about data models 🙂