What is Data Vault?
Data Vault is a data warehouse modeling methodology designed to build an enterprise data platform that is:
- scalable
- auditable
- historically accurate
- adaptable to changing source systems
- able to integrate data from many different sources
The central idea is: Separate business identity, relationships, and descriptive history.
Data Vault mainly does this through three building blocks:
Hub + Link + Satellite
You will often see this called: Hubs, Links, and Satellites — HLS
Hub: Represents the primary business objects.
Link: Defines the associations between business objects.
Satellite: Stores descriptive attributes and records historical changes to those attributes.
You can think this way, a Bank, it has many source systems
CRM
│
├── Customer
│
Core Banking
│
├── Customer
├── Account
│
Credit System
│
├── Customer
├── Loan
│
Credit Card System
│
├── Customer
├── Card
│
Mobile Banking
│
├── Customer
└── Transaction
A customer has:
CRM → C123
Core Banking → 100023
Credit System → CU-789
Card System → 998877
Assuming Source systems changeing
# Now
Customer
----------------
Customer_ID
Name
Email
Phone
# tomorrow changing to
Customer
----------------
Customer_ID
First_Name
Last_Name
Email
Mobile_Phone
Data Vault will sperate Business Identity and Descriptive Attributes
Hub_Customer, looks after “Customer Business Key”
Satellite_Customer: looks after
“Name
Email
Phone
Address
Status
… “
Once source add a new attribute – “Preferred_Language”, System only need change Satellite.
Assuming, Historical data tracking
assuming,
2024:
Customer = John
City = Toronto
2025:
Customer = John
City = Vancouver
2026:
Customer = John
City = Calgary
under this scenario, enterprice wants to know:
“When did John live in Toronto? When did he move to Vancouver, and when did he move to Calgary?”
Data Vault does “Don’t overwrite histrory unnecessarily“, keep all history change
Hub Customer
│
▼
Satellite Customer
Customer_Key | City | Load_Date
-------------|------------|-----------
C10001 | Toronto | 2024-01-01
C10001 | Vancouver | 2025-03-15
C10001 | Calgary | 2026-02-10
Auditability
Enterprice offen asks where does this data come?
e.g. Customer Email = abc@gmail.com
Data Vault highly emphasizes:
- Source System
- Load Date
- Record Source
- Business Key
- Hash Key
- Hash Diff
so we create
Source System
↓
Raw Data
↓
Data Vault
↓
Business Data
to keep data lineage / history
The three core components of Data Vault
Hub – Link – Satellite
Hub represents a unique business concept or business key. It answers “Who is this business entity?”
Link represents a business relationship between Hubs. It is Business relationship
Customer owns Account
Customer applies for Loan
Customer holds Credit Card
Employee works for Branch
Supplier provides Product
Satellite stores descriptive attributes and their historical changes. It descripts Hub or Link and information lineages, history change.
example: customer
Data Vault will ask:
What is this entity? —- Hub
Customer ID = C10001
How does it relate to other objects? —- Link
Link Customer-Account
Customer C10001
|
| owns
|
Account A90001
What attributes does this Customer have? —- Satellite
Customer C10001
Name = John Smith
Email = john@gmail.com
City = Toronto
Status = Active
┌──────────────┐
│ HUB │
│ │
│ WHO ARE YOU? │
└──────┬───────┘
│
│ relationship
▼
┌──────────────┐
│ LINK │
│ │
│ WHO IS │
│ RELATED TO │
│ WHOM? │
└──────┬───────┘
│
▼
┌──────────────┐
│ SATELLITE │
│ │
│ WHAT DO WE │
│ KNOW ABOUT │
│ IT? │
└──────────────┘
A complete example
assuming:
Customer:
C001
Account:
A100
Customer open Account.
Hub Customer
Hub_Customer
Customer_HK | Customer_BK | Load_DTS | Record_Source
-------------|-------------|-----------|--------------
... | C001 | 2026-01-01| CRM
Hub Account
Hub_Account
Account_HK | Account_BK | Load_DTS | Record_Source
-----------|------------|-----------|--------------
... | A100 | 2026-01-01| CoreBanking
Link Customer Account
Link_Customer_Account
Customer_HK | Account_HK | Load_DTS | Record_Source
------------|------------|-----------|--------------
... | ... | 2026-01-01| CoreBanking
Satellite Customer
Sat_Customer
Customer_HK
Name
Email
City
Status
Load_DTS
Record_Source
Hash_Diff
e.g.
C001 | John | john@gmail.com | Toronto | Active
then:
C001 | John | john@gmail.com | Vancouver | Active
we keep the histrory
Key Takeaways
A scalable, auditable, historical data modeling methodology for enterprise data integration.
| Component | English | 中文 | 人话 |
|---|---|---|---|
| Hub | Business identity / key | 业务身份 | 你是谁 |
| Link | Business relationship | 业务关系 | 你和谁有关系 |
| Satellite | Descriptive attributes + history | 属性 + 历史 | 关于你的信息 |
Hub tells us WHAT business entity we have, Link tells us HOW entities are related, and Satellite tells us WHAT we know about those entities over time.
Hub 告诉我们“业务对象是谁”,Link 告诉我们“对象之间是什么关系”,Satellite 告诉我们“关于这些对象知道什么,以及这些信息如何随时间变化”。

