Data Vault is a data modeling methodology designed for building scalable, flexible, and auditable enterprise data warehouses. Created by Dan Linstedt in the 1990s and formalized as Data Vault 2.0 in 2013, the methodology separates business keys, relationships, and descriptive attributes into distinct table types—Hubs, Links, and Satellites—enabling parallel loading, incremental development, and minimal impact from source system changes. Data Vault 2.1 extends the methodology with enhanced support for semi-structured data, ontologies and taxonomies, and alignment with modern architectures like Data Mesh and Data Lakehouse. Unlike traditional dimensional modeling, Data Vault prioritizes adaptability, compliance, and auditability, making it ideal for environments requiring strict lineage tracking, regulatory compliance, and continuous integration of new data sources.
What This Cheat Sheet Covers
This topic spans 18 focused tables and 128 indexed concepts, 113 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Entity Types
The whole methodology rests on three building blocks—Hubs hold business keys, Links capture the relationships between them, and Satellites carry the descriptive detail and its history. Keeping these concerns in separate tables is what gives Data Vault its parallel loading and resilience to source changes. The Link Satellite and Reference Hub here are natural extensions of that same idea.
| Entity | Example | Description | |
|---|---|---|---|
HUB_CUSTOMERcustomer_hk (PK)customer_id (BK)load_daterecord_source | • Stores unique business keys for core business concepts (e.g., Customer, Product, Order) • contains no descriptive attributes, only identifiers and metadata. | ||
LINK_ORDER_CUSTOMERorder_customer_hk (PK)customer_hk (FK)order_hk (FK)load_daterecord_source | • Captures relationships between Hubs • represents associations or transactions (many-to-many by default) • hash key derived from related Hub business keys. | ||
SAT_CUSTOMER_DETAILScustomer_hk (FK)load_date (PK)first_namelast_nameemailhashdiff | • Stores descriptive attributes and full history for Hubs or Links • every change creates a new record • includes load timestamp and hashdiff for change detection. | ||
LSAT_ORDER_CUSTOMERorder_customer_hk (FK)load_date (PK)order_totalorder_statushashdiff | • Satellite attached to a Link rather than a Hub • tracks context attributes of the relationship (e.g., order total, discount percentage applied to a customer-order association). | ||
REF_HUB_COUNTRYcountry_hk (PK)country_code (BK)load_daterecord_source | • Lightweight Hub for reference or lookup data (e.g., country codes, currencies) • follows Hub pattern but typically has fewer satellites and lower audit requirements than core Hubs. |