Data Vault
Using the working canvas
The working canvas can be used to display existing parts of the model or also extend the model. When having parts of the model opened, you can see the following objects being present. By double-clicking onto a Hub, it is possible to load everything related to that element, enabling you to browse through the existing model.
- Hub
-
By default, hubs are represented as larger blue squares, with the display name written onto it.
- Link
-
The link connecting two hubs are represented according to their type as line, arrow, or double-arrow. Multiple links are displayed in a bent manner.
- Satellite
-
By default, satellites are smaller circles, represented with the color of the source system. They are connected to the hub with a line, carrying the functional suffix name of the satellite.
- Subject Area
-
Subject Areas are used to group parts of the model. They are represented as colored clouds around the objects.
- Same As
-
To allow the modelling of same as links, the creation of “Alias Hubs” is possible. In this example, the Hub “Product Alias” is an alias of hub “Product” and thereby is bound to its parent by a doubled line. Technically, the declared loads for both hubs will be fed into the same object.
Extending the model
The existing model can easily be extended by using the provided creation dialogues. These dialogues can be reached in the Data Vault module through the right-click-context menu on the canvas or the menu in the top right.
When working with the right click-context-menu and building on top of an existing object (such as a hub, a link, …) , you can right click onto the existing object on the canvas. When invoking the dialogue this way, some information on the base tab can automatically be prefilled by the Datavault Builder.
Adding a Hub
- Steps
The add hub dialogue can be used in different ways:
- Create the logical model:
A new hub is created, without having a load from a source defined.
Invoke the create hub dialogue,
only fill out the base tab and
complete the combined dialogue on the first tab.
- Create a new hub with a load:
A new hub is created, with directly assigning a hub load for a staging table.
Invoke the create hub dialogue,
fill out all tabs and
complete the combined dialogue on the last tab.
- Add another load to an existing hub:
Another load from a staging table is assigned to an existing hub.
Invoke the create hub dialogue by right-clicking onto the existing hub and selecting
add hub load
.The Datavault Builder will fill out the information on the base tab and directly take you to the source tab.
Complete the combined dialogue on the last tab.
- Create an alias hub:
A hub is created, which technically refers to the parent hub to allow same-as-linking.
Invoke the create hub dialogue and
decleare the parent hub in the
Make This Hub An Alias For
-field.The dialogue can be completed either on the first or last tab.
Hub Base
- Hub Name
- Declaration of the displayed name of the hub. Editable.When clicking, a list of existing hub names will appear to avoid declaration of the same name.
- Hub ID
- Declaration of the technical ID represented on the database for the hub. Not editable.Is automatically derived from the entred hub name, but can be manually adjusted.
- Make This Hub An Alias For
Declare the hub to be an alias for an existing hub. This allows the creation of same-as-links. Not editable.
- Subject Area
Grouping the hub into a specific part of the model. Editable.
- Comment
Custom notes about the hub. Will appear in the documentation. Editable.
- Add Hub Without Load
Completes the creation for logical modelling without declaring a load for the hub.
Hub Source
- Source System
Selection of a Source System to load from.
- Staging Table
Selection of a Staging Table to load from.
- Available Columns
Available columns in the staging table. Can be filtered, sorted as well as previewed with the Data Preview.
- Business Key
Declaration of the business key. Can be made up of a single columns or as a composite key. Use the buttons in the middle or drag an drop to add columns from the available columns.
- Check Uniqueness
-
The Uniqueness check allows you to validate your composed business key against the data currently loaded into your staging area. Click onto the icon, to start the validation. Once complete, it will either successfully turn green (and directly enable
Keys are Unique
on the next tab), or turn red (and disableKeys are Unique
).In the second case of duplicates, a data preview window will open up, directly supplying you with the identified duplicates and their count.
Also, by clicking onto the plus-icon, you can retrieve a number of duplicates, helping you determine the root of the problem.
Key Settings
- Keys are Unique
- Definition, that the declared business key is the main identifier for the object and is on the same granularity as in the staging table. This activates a check on load, which will throw an error when violating the uniqueness constraint.Disable this option when modeling a denormalized source into the datavault or declaring a “foreign-key”-like business key for link-creation. More details in Adding a Link.
- Business Key Prefix
- Allows to set a prefix ahead of the declared business key.This is needed, when feeding a hub from multiple systems with overlapping keys, which do not mean the same. (For instance: System A Customer 12 != System B Customer 12).
- Datavault Category
Specification to which part of the datavault category (Persistent Staging Area / Raw Vault / Business Vault) the load belongs to.
Adding a Satellite
The creation of a satellite requires an existing hub.
- Steps
The add satellite dialogue can be used in two different ways:
- Create the logical model:
A new satellite is created, without having a load from a source defined.
Invoke the create satellite dialogue,
only fill out the base tab and
complete the combined dialogue on the first tab.
- Create a new satellite with a load:
A new satellite is created, with directly assigning a hub load for a staging table.
Invoke the create satellite dialogue,
fill out all tabs and
complete the combined dialogue on the last tab.
Satellite Base
- Hub Name
Name of the hub the satellite belongs to. When clicking into the field, a dropdown list with the existing hubs will appear.
- Functional Suffix Name
Displayed name of the satellite. Editable.
- Functional Suffix ID
- Technical ID of the satellite. Not Editable.Is automatically derived from the functional suffix name, but can manually be adjusted.When more then one satellite exists, a functional suffix id is required.
- Subjcet Area
- Grouping the hub into a specific part of the model. Editable.If the chosen hub has an assigned subject area, the area will be automatically preselected.
- Comment
Custom notes about the satellite. Will appear in the documentation. Editable.
- Create Satellite Without Load
Completes the creation for logical modelling without declaring a load for the satellite.
Satellite Columns
- Hub Load
Selection of an existing hub load from the parent hub.
- Available Columns
Present columns in the staging table of the chosen hub load.
- Selected Columns
Chosen columns to add as attributes to the satellite.
Satellite Conversions
- Columns
Selected columns from the tab satellite columns.
- Type Converter
- Allows to add column-based type conversion on the way into the data vault.When declaring a type conversion, the original field will be added to the satellite, too, carrying the naming-extension
_raw
.
- Target Name
Column-based renaming. Will only affect the displayed name.
- Comment
Custom notes about the column. Will appear in the documentation.
Adding a Link
The creation of a link requires two existing hubs.
- Steps
The add link dialogue can be used in three different ways:
- Create the logical model:
A new link is created, without having a load from a source defined.
Invoke the create link dialogue,
only fill out the base tab and
complete the combined dialogue on the first tab.
- Create a new link with a load:
A new hub is created, with directly assigning a hub load for a staging table.
Invoke the create link dialogue,
fill out all tabs and
complete the combined dialogue on the last tab.
- Add another load to an existing link:
Another load from a staging table is assigned to an existing link.
Invoke the create link dialogue by right-clicking onto the existing link and selecting
add link load
.The Datavault Builder will fill out the information on the base tab and directly take you to the load tab.
Complete the combined dialogue on the last tab.
Link Base
- First Hub
The first hub to connect from.
- Second Hub
The secont hub to connect to.
- Link Type
Defines the relation-type of the link (one-to-one, one-to-many, …). This declaration is just declarative, as the technical implementation is always realized as many-to-many relationship. However, this will help in the business object to denormalize the data vault structure without having a fanning when following along the related objects in the data vault.
- Subject Area
The Subject Area the link belogs to. Editable.
- Link Suffix Name
The displayed name of the link. Editable.
- Link Suffix ID
Partial ID of the technical implementation of the link. Is mandatory, as soon as multiple links exist between the same hubs.
- Comment
Custom notes about the Link. Appears as well in the documentation. Editable.
- Completion Action
Use this button to create a prototyp link for the modeling (without defining the load yet). Otherwise, switch to the next tab in the creation dialogue.
Link Load
- Hub Load 1
Selection of the hub load for the first side of the link.
- Hub Load 2
Selection of the hub load for the second side of the link.
- Add Hub Load
Optional Button: Will be enabled, when selecting a hub load on one side and no corresponding hub load exists for the second hub. Allows to directly go to the Add link dialogue, prefill the base tab and select the underlying staging table. After successfully completing the adding of the hub load, the dialogue will appear again to continue adding the link load.
Adding a Transaction Link
- Steps
- Create a new transaction link with a load:
A new transaction link is created, with directly assigning a load for a staging table.
Invoke the create transaction link dialogue,
fill out all tabs and
complete the combined dialogue on the last tab.
Transaction Link Base
- Hub Name
Name of the main hub the transaction link belongs to. When clicking into the field, a dropdown list with the existing hubs will appear.
- Functional Suffix Name
Displayed name of the transaction link. Editable.
- Functional Suffix ID
- Technical ID of the transaction link. Not Editable.Is automatically derived from the functional suffix name, but can manually be adjusted.
- Subject Area
Grouping the transaction link into a specific part of the model. Editable.
- Comment
Custon notes about the transaction link. Will appear in the documentation. Editable.
Transaction Link Columns
- Hub Load
Selection of an existing hub load from the parent hub.
- Available Columns
- Present columns in the staging table of the chosen hub load.It will by default only show Hash Keys of existing hub loads. By adding the hash key to the transaction link you select which other hubs will be linked to. The hash key of the parent hub will be present in the transaction link in any case.If you would like to also add attributes to the link, check the
Show Attributes
-checkbox, so the available columns from the staging table appears.
- Selected Columns
Chosen columns for the transaction link.
Transaction Link Conversions
- Columns
Selected columns from the tab columns.
- Type Converter
- Allows to add column-based type conversion on the way into the data vault.When declaring a type conversion, the original field will be added to the satellite, too, carrying the naming-extension
_raw
.Note
Only columns of type attribute can be converted! The type converter is disabled for Hash Key Columns.
- Target Name
Column-based renaming. Will only affect the displayed name.
- Comment
Custom notes about the column. Will appear in the documentation.
Metadata slider
Editable properties can be changed using .
- Base
- In the base part, the specified data from the base-tab in the creation dialogue is listed.When having multiple users working on the same model, the change can only be saved if it has not been modified in the meantime. Otherwise the property has to be reloaded first.
- Load
Lists all loads for the object. (A satellite will only have one load). Only the Datavault Category can be changed. To correct a business key, delete the load and create the correct load again.
- Object Actions
-
Magnifying glass: Open the Data Viewer to see the historized data in the object.
Database minus: Open the dialogue to delete loaded data from the hub.
Trash bin: Delete the hub. This action requires to delete all loads, data and related objects first.
- Load Actions
-
Circled arrow: Initiate a specific data vault load. Color/Hovering for status details. While loading, a stop symbol will appear to cancel the running load.
Trash bin: Remove the specific data vault load.
Style Settings
- Canvas Styles
The following properties can be changed:
Color: In case of the satellite, the color will only affect prototyped satellites without a load.
Size
Font-Size
- General
The visual grouping into subject areas on the canvas can be turned on or off.
Working with bookmarks
Bookmarks can significantly accelerate working speed with the core model by directly accessing most often used parts. Also, bookmarks can be directly shared with all other uses, so you can show what you are modelling currently to a coworker.
- Creating a bookmark
- To load a stored view
Click onto Menu and navigate to Bookmarks.
Select a stored bookmark from the list.
Note
Be aware, that loading a bookmark will reinitialize the canvas and clean all existing objects.
- Delete Bookmarks
Click onto Menu and navigate to Bookmarks.
Select “Manage Bookmarks…” from the list.
A window listing all bookmarks will appear.
Remove any unwanted bookmark and confirm to leave the dialogue.
Unlinked mapping table
In Data Vault there is a concept of an “unlinked mapping table”. We have defined to use a hub + satellite to model this scenario in the core. Also the _C
sat can then be used as mapping table in the business rules.