Satellite
A Satellite in Data Vault 2.0 stores descriptive attributes and context for a specific Hub or Link. Satellites are designed to track historical changes to these attributes over time. Each Satellite is attached to exactly one parent Hub or Link.
Key Characteristics:
- Descriptive Attributes: Contains the contextual, descriptive data related to a Hub or Link (e.g., customer name, address, product description, order status).
- Historical Tracking: Designed to capture changes to attributes over time. Each change typically results in a new versioned record in the Satellite, identified by a load timestamp.
- Single Parent: A Satellite is always attached to one specific Hub or Link.
Role in Data Vault:
Satellites provide the rich contextual information that makes the data meaningful. By separating descriptive attributes from the structural Hubs and Links, Data Vault models achieve flexibility and scalability. When source systems change or new attributes are added, new Satellites can be added without impacting the existing core structure. This historical tracking is vital for auditability, trend analysis, and understanding data evolution.
There are two main types based on their parent:
- Hub Satellites (
hubsat
): Store attributes for core business entities (Hubs). - Link Satellites (
linksat
): Store attributes for relationships or transactions (Links).
Simple Hub Satellite Example:
This example defines a Hub Satellite SAT_SAP_CEPC
that stores descriptive attributes for HUB_PROFIT_CENTER
.
name: 'SAT_SAP_CEPC'
entity_type: 'hubsat' # Could also be 'linksat' for a Link Satellite
enable_refresh: true
skip_hashdiff_comparison: false
ordering_columns: [] # Optional: for sequencing records with same load timestamp
connected_entity: 'HUB_PROFIT_CENTER' # Name of the parent Hub
entity_source:
(SAP_MASTERDATA, CEPC): # Source: (Schema, Table)
source_filter: '' # Optional filter
source_system_configuration_urn: 'urn:s2v:source_setting:SAP'
use_source_cdc_flag: false
source_business_key: '' # Optional source system identifier
business_key_mapping: # How to get the parent Hub's business key
- PROFIT_CENTER_BK: # Business key column name in HUB_PRODUCT
- "PRCTR" # Corresponding column in CEPC table
- "KOKRS" # Corresponding column in CEPC table
historized_columns: # Attributes whose history is tracked
- 'ABTEI'
- 'VERAK'
- 'USNAM'
- 'ERSDA'
- 'WAERS'
non_historized_columns: # Attributes whose history is NOT tracked (current value stored)
- "PRCTR"
- "KOKRS"
For a detailed step-by-step guide on building a Satellite, please refer to:
- How to build a Hub Satellite? tutorial.
- How to build a Link Satellite? tutorial.
For a comprehensive guide on all available properties and detailed explanations for defining a Satellite, please refer to: