Head & Version Modeling
Head and Version Modeling at Trivadis.
Data modeling for the Data Warehouse is different than data modeling for operational systems or for data marts. See my prior blogs on Unified Decomopsition and Ensemble Modeling for some discussion on common themes and several contemporary modeling patterns.
Several weeks back I held a session at the Trivadis TechEvent in Switzerland. This was a fantastic event with several concurrent sessions and a very engaged set of professional participants. Following the event I had the opportunity to chat with a small group from the Trivadis team. We spoke about agility, modeling, data vault, ensemble and also this Head & Version modeling technique. See the Trivadis blog entry by Dani Schnider here. In this blog entry Dani described a bit more about Head and Version modeling as well as a comparison to data vault modeling.
Here I am posting some ERwin models that relate to this discussion and comparison. First here is a view (disclaimer: I am entirely new to Head and Version so please take this as a draft by a beginner):
What can be seen above here is that the Head tables are much like Hubs except that they include the context attributes determined to be static (maintain a 1:1 relationship with the key). The Version tables are much like Satellites except that they have their own surrogate keys, they contain end date effectivity and they can contain foreign keys if they have a M:1 relationship with another concept (can only have one value at a given point in time). If a head table has a static M:1 relationship with another concept, then there can be a foreign key in the Head table as well (see Prod_Sub_Cat_Head has a FK for the Product_Cat_Head).
Here is a similar scope in the data vault modeling pattern:
Here we can note that the static attributes are in their own Satellite (S_Product_Main) and the dynamic ones are in another Satellite (S_Product_Expanded). The only thing we find in the Hub is the business key and the surrogate. Satellites are keyed by the same surrogate as the Hub plus Date/Time Stamp.
Please see the Trivadis blog for more discussion on this topic.
Pingback: Datenmodellierung mit Data Vault & ETL in die Data Vault Tabellen and in die Data Mart Dimensionen - Oracle BI - Blogs - triBLOG