Forward: my book “Modeling the Agile Data Warehouse with Data Vault” available on Amazon in USA, UK, and EU. You can order your copy here. This is a data vault data modeling book that also includes related data warehousing topics including some new concepts such as Ensemble Modeling.
Ensemble modeling is based on the core idea of Unified Decomposition™ (please see my blog post from October 3rd 2012). Basically this idea recognizes that we want to break things out into component parts for reasons of flexibility, adaptability, agility, and generally to facilitate the capture of things that are either interpreted in different ways or changing independently of each other. But at the same time data warehousing is about data integration (a common standard view of unified concepts). So we also want to bring together the context around the core concept. Ensemble Modeling his is a unifying theory. Unifying from a data modeling landscape perspective – and also unifying as the primary theme of the modeling approach. With Ensemble Modeling the Core Business Concepts that we define and model are represented as a whole – an ensemble – including all of the component parts that have been broken out. An Ensemble is based on all things defining a Core Business Concept that can be uniquely and specifically said for one instance of that Concept.
So an Ensemble is effectively designed in the same way we would design a core Entity in a 3NF model. We would establish a key based on a natural business key for the Core Business Concept and then include the context attributes that depend on that key, as well as FK relationships to instances of other concept tables relating to that key.
But unlike Entities and Dimensions, Ensembles are actually collections of integrated lower level constructs – a result of breaking out core concepts into logical component parts.
In the figure above we can see an example of a Core Business Concept “Customer” modeled as an Entity (left circle) versus modeled as an Ensemble (right circle). As with all Ensemble Modeling forms or variations (Data Vault Modeling, Anchor Modeling, 2G modeling, Focal Point, etc.) the set of component parts together form a concept.
Consider the definition of ensemble:
All the parts of a thing taken together, so that each part is considered only in relation to the whole.
It is important to note that the Core Business Concept is fully and completely defined in either model. At the same time, the parts in the Ensemble modeling variation exist only as parts that make up the whole. So they are not themselves Core Business Concepts but rather lower level components. In Ensemble Modeling the Ensemble is a representation of a Core Business Concept including all of its parts – the business key, with context and relationships. This Set or Grouping of all related parts is treated as a singular concept. Individual parts do not have their own identity and so can only be considered in relation to the whole.
Data Vault modeling embraces this idea. Note the vaulting and unvaulting in the diagram introduced in my blog entry from September 27, 2012. Here we can see that when we are vaulting we are practicing unified decomposition – since the core business concept is broken out into component parts but all parts remain circling the business key.
But data vault is only one of the flavors of Ensemble Modeling. There are several approaches within this paradigm. They all share certain core characteristics and one of the fundamental ones is in the high level view of the table constellations that are created.
In this diagram we can see a simple architectural view of a data warehouse. Starting from operational source systems and moving to the EDW layer and lastly to the data marts we can see how these concepts fit in. Why does this ensemble modeling pattern work? Because when changes need to be tracked, it is more efficient to split out and isolate the changing parts. For more on Ensemble Modeling and in particular the data vault modeling approach, please order the book Modeling the Agile Data Warehouse with Data Vault.
© Copyright Hans Hultgren, 2012. All rights reserved. Ensemble Modeling™