Skip to main content
Version: 1.3.0

Aggregated Satellite

An Aggregated Satellite in S2V is an enhancement to the traditional Data Vault 2.0 Satellite implement highly aggregated Satellites on large volumne source tables (e.g. Currency Codes on Transaction Tables). The resulting code generation pregroups selected columns so that there is a perfomance gain compared to a regular satellite (number of comparisons are reduced).

warning

This entity type can lead to higher runtimes if used in the wrong context:

  • Selected Business Key and historized columns: This is similar to a traditional SQL "group by" statement. If the selected columns are not really leading to a reduction of data to be processed, the comparison might take longer than a regular satellite pattern

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:

Aggregated 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.

This entity is only available on parent entity Hubs:

  • Hub Aggregated Satellites (hubsat_agg): Store attributes for core business entities (Hubs).

Simple Hub Aggregated Satellite Example:

This example defines a Hub Satellite SAT_SAP_CURRENCY_CODES that stores descriptive attributes for HUB_CURRENCIES.

name: 'SAT_SAP_CURRENCY_CODES'
entity_type: 'hubsat_agg' # only available for Hubs
enable_refresh: true
skip_hashdiff_comparison: false
ordering_columns: [] # Optional: for sequencing records with same load timestamp
connected_entity: 'HUB_CURRENCIES' # Name of the parent Hub

entity_source:
(SAP_TRANSACTIONS, VBAP): # Source: (Schema, Table)
source_filter: '' # Optional filter
source_system_configuration_urn: 'urn:s2v:source_setting:SAP'
source_business_key: '' # Optional source system identifier
business_key_mapping: # How to get the parent Hub's business key
- CURRENCIES_BK: # Business key column name in HUB_CURRENCIES
- "WAERK" # Corresponding column in VBAP table

historized_columns: # Attributes whose history is tracked
- 'WAERK'
- '...'

non_historized_columns: # Attributes whose history is NOT tracked (current value stored)