Skip to content
PHP2Shell: The PHP Bug
Akshay Thakare

Kimball vs Inmon vs Data Vault

The three classic warehouse design approaches, what each optimises for, and how modern teams combine them.

Data WarehousingIntermediate2 min readUpdated 11 Oct 2026

Three approaches

KimballInmonData Vault
Core ideaDimensional models per business processNormalized enterprise warehouse first, marts afterHubs, links and satellites that record history
DeliveryFast, incrementalSlower, centralisedFlexible integration layer
StrengthEasy for analysts and BISingle integrated source of truthAuditable, handles changing sources
WeaknessConformance takes disciplineBig upfront designNot query-friendly; needs marts on top

Kimball in one picture

Plain text.txt
dim_date   dim_store
     \       /
      fact_sales  — one row per order line
     /       \
dim_product  dim_customer

Conformed dimensions (the same dim_customer everywhere) let facts from different processes be compared.

Data Vault in one picture

Plain text.txt
hub_customer (business key) ── link_order_customer ── hub_order
      |                                                  |
sat_customer_details (history)               sat_order_status (history)

Hubs hold keys, links hold relationships, satellites hold descriptive attributes with load timestamps. New sources add satellites without changing existing tables.

What teams do today

A common lakehouse stack mixes them: a raw/bronze layer, an integrated and historised layer (sometimes Data Vault), and Kimball-style marts for consumption.

Finished this note?

Share