Hello everyone,
I am a newbie to Data Vault modeling and I am having some doubts regarding the architecture I have built so far.
A thing that is not clear to me is whether the DV entities definition should follow the source system structure or it should be guided by the business users.
For example: Consider a source system that has a table with clients information called client_info (with data like name, surname, birth date) and another table with people contacts called contacts_info (such as phone numbers and home addresses) and the domain office requests that data from those two tables should be joined in a unique entity called “clients” in the information delivery layer.
In this case, should we create just one hub for clients and satellites with attributes coming from the two source tables (hub_clients) or should we create two different hubs, one for client_info and one for contacts_info with their respective satellites and join their data in the Business Vault?
So far I have followed the domain offices indications by creating hubs for the entities they expected by joining source data info. This approach becomes a little messy when instead of just two source tables, one entity needs data from 10-15 source tables. On the other hand, creating 10 hubs for each entity required by the business users would make the DV grow very fast (and increase costs?).
This aspect seems not to be well clarified from online sources I found.
How would you behave in this case?