This week I went to a seminar at Logica called Guru4Pro. The subject was: “Best Practices in Data Vault”, and the Godfather of Data Vault, Dan Linstedt, was one of the speakers.
There were also two other speakers, who each explained a real-world example of a Data Vault implementation. They were Aytekin Keskin, who worked as an architect on a Data Vault project at Tele2, and Liesbeth Hozee, who helped with a Data Vault project at Vektis.

After the introduction the speakers put a lot of emphasis on the challenges the projects ran into. What stood out was that these were mainly technical. At Vektis, for example, recognizing good source keys when different parties deliver patient data (how do I recognize a unique patient then?). At Tele2 the challenge was the huge number of requirements, more than 3000, and translating them into a small number of functional areas.

What I always like about talks like these is that they make you think. At one point Dan Linstedt said: “A single version of the truth doesn’t exist”. But then what have we been doing all these years with our data warehouses? Exactly, creating the truth. But what is the truth, and who decides what the truth is? Dan gave a nice example that sticks. He talked about a lamp with a yellow bulb in it. If someone else puts in a blue bulb, you get a different colour of light. Then someone else comes along and puts in a green bulb. The bulb was the truth, and changing the bulb was the business rules. What he tried to say is that the business decides what the truth is. As soon as the business changes, or new managers come in who benefit from a different truth, the truth will change. A truth in a data warehouse is a set of rules at a certain moment for a certain person.

Data Vault handles this well by keeping raw data: the data as it is stored in the various source systems. The truth is as it was stored in the systems, without changing any data. By changing I mean cleaning and transforming. Because of this the data is always 100% auditable/traceable. Someone also asked whether you are allowed to convert, for example, a date field stored as text to a date field. That question was left open.

To then turn data into the truth, the “Version of the truth”, Dan says you should use Business Vaults in the broadest sense of the word. This does not have to be a physical data mart such as a Kimball model, an OLAP cube or a data vault with cleaned data. Business Vault is a very broad concept. It covers basically everything that is built on the data vault and that turns the data into meaningful business data. This can also be an Excel sheet with business rules (with PowerPivot, for example), but also a physical database modelled according to the Kimball method.

Frequently asked questions

Does a single version of the truth exist in a data warehouse?

According to Dan Linstedt it does not: "A single version of the truth doesn't exist". What the truth is depends on who decides. His example was a lamp whose light changes when someone puts in a bulb of another colour.

How does Data Vault deal with the truth?

Data Vault keeps raw data as it is stored in the source systems. Nothing is cleaned or transformed. Because of that, the data is always 100% auditable and traceable.

What is a Business Vault in Data Vault?

A very broad concept. It covers everything that is built on the Data Vault and turns the data into meaningful business data. That can be a Kimball model, an OLAP cube or an Excel sheet with business rules.

What were the challenges in the Data Vault projects at Vektis and Tele2?

At Vektis it was about recognizing good source keys, such as a unique patient in data from different parties. At Tele2 it was about more than 3000 requirements that had to fit into a small number of functional areas.

Can you convert a date field stored as text to a date in Data Vault?

That question stays open. Data Vault keeps the data unchanged. Whether you are allowed to convert a text field to a date field is not settled in Data Vault.

Comments

Your email address is not shown. A photo comes from Gravatar, if you have one.