What is the core difference between the Kimball and Inmon data warehouse architectures?
answer
- Two build directions, two integration points
- Who integrates: an upstream layer or shared tables?
- Top-down normalized store vs bottom-up marts
- Inmon: dependent marts inherit one definition
- Kimball: the marts are the warehouse
basics
~10 sInmon builds top-down: one normalized enterprise warehouse integrates every source, and dimensional marts are derived from it. Kimball builds bottom-up: dimensional marts per business process are the warehouse, tied together by shared dimensions.
solid answer
~50 sBoth want one trustworthy reporting layer; they disagree about **where integration happens** and **what you build first**. Inmon puts a normalized enterprise data warehouse at the centre. Every operational source is cleaned and loaded into it, and departmental marts are built *from* that store — so marts cannot disagree, because they inherit one definition of customer or product. Kimball skips that layer. You pick one business process, declare its grain, and build a star schema straight from staged source data; that mart *is* the warehouse. Consistency comes from reusing the same physical dimension tables across fact tables rather than from an upstream integrated store. The practical consequence is delivery order: Kimball ships a usable mart in weeks and integrates incrementally; Inmon integrates first and ships reports later, but ships them already reconciled. Most real platforms land somewhere between the two.
code
text · 10 linesINMON (top-down)
sources -> staging -> normalized enterprise warehouse
|
+-> finance mart (dimensional)
+-> marketing mart (dimensional)
KIMBALL (bottom-up)
sources -> staging -> orders star ----+
-> shipments star --+-- shared dimension tables
-> returns star ----+go deeper
Be ready to state both directions in one sentence each: top-down normalized enterprise store feeding marts, versus bottom-up dimensional marts sharing dimensions. Knowing which name goes with which direction is the whole ask here.
Explain where integration physically happens in each design and what the consumption layer looks like. Interviewers expect you to say that both end up serving dimensional models to BI tools.
Show the operational consequence: which design ships value sooner, which one makes a cross-cutting definition change expensive, and how each fails in practice when discipline slips.
Own the framing that these are poles on an integration axis, not products. Be able to argue what your organization's governance maturity, delivery cadence and source volatility imply about how much integration to do before publishing.
## The question behind the question Interviewers ask this to check whether you see a warehouse as having an *architecture* — a deliberate decision about **where integration happens and in what order you build** — rather than just a pile of tables. Bill Inmon and Ralph Kimball both wanted one trustworthy place for enterprise reporting. They disagreed about which layer does the reconciling and about what the first deliverable is. ## Inmon: top-down, integrate first Inmon's Corporate Information Factory places a single **enterprise data warehouse (EDW)** at the centre of the platform. Data is extracted from every operational system, cleaned, reconciled, and loaded into a normalized model that describes the *enterprise's* entities — customer, product, contract, shipment — rather than any particular report. Inmon's own definition of that store is that it is subject-oriented, integrated, time-variant and non-volatile: organized around business subjects, reconciled across sources, keeping history, and never overwritten in place. That layer is deliberately **not** the surface analysts query. Downstream, **dependent data marts** are derived from it, typically dimensional, one per department or subject area — finance, marketing, supply chain. Because every mart is fed by the same integrated store, two marts physically cannot hold contradictory customer definitions; they inherit one. Integration is a property of the layer, enforced once, by construction. The price is sequencing. Nobody gets a report until the enterprise model covers the entities that report needs, and modelling the enterprise is slow, political work that pays back only later. ## Kimball: bottom-up, publish first Kimball's **dimensional bus architecture** has no enterprise normalized layer. You choose one business process — orders, shipments, claims — declare the grain of its fact table, and build a star schema (one fact table surrounded by dimension tables) directly against staged source data. That mart is the warehouse; there is no other authoritative copy behind it. The next business process is built the same way, and integration is achieved by **reusing the same physical dimension tables** — the same keys, the same attributes — across the new fact tables. Consistency is therefore a property of shared dimensions and of the discipline that plans them up front, not a property of an upstream store. The warehouse is the union of marts plus that shared dimensional backbone. The price is discipline. Nothing physically stops a team from building its own private customer dimension, and when that happens the marts stop agreeing — the failure mode Inmon's architecture designs away structurally. ## What actually differs - **Where integration lives.** Inmon: an upstream normalized layer. Kimball: shared dimension tables inside the delivery layer. - **Unit of delivery.** Inmon: the enterprise model, then marts. Kimball: one business process at a time. - **The queryable surface.** Inmon: marts (the EDW is plumbing). Kimball: the marts are everything. - **Redundancy.** Inmon stores each attribute once centrally and copies it into marts; Kimball accepts denormalized dimension attributes as the normal state. - **Cost of change.** Inmon absorbs a new source into a model designed to receive it, but changing the enterprise model ripples into every dependent mart. Kimball changes one mart cheaply, but a *cross-cutting* change — a new customer definition — must be applied to every fact table that uses that dimension. - **Who it suits.** Inmon rewards organizations that already have central data governance and long horizons; Kimball rewards teams that must show value quarterly. ## Where they agree More than the debate suggests. Both keep analytics off the operational database. Both are subject-oriented and keep history rather than overwriting it. Both end up serving **dimensional models to BI tools**, because business users query facts and dimensions either way. Both require agreed definitions of shared entities — they differ only on whether that agreement is enforced upstream or by reuse. ## What real platforms look like Almost no modern platform is doctrinally pure. Cheap storage and ELT changed the economics: landing raw data costs almost nothing, so most teams land raw, build a reconciled integration layer of some kind (normalized, or another integration modelling style), and publish star schemas on top for consumption. That is Inmon's shape with Kimball's serving layer, and it is the common answer today. Treat the two names as **poles on an axis** — how much integration you do before you publish — rather than as products you buy. ## Answering in an interview Lead with the one-sentence contrast: top-down normalized enterprise store feeding dependent marts, versus bottom-up dimensional marts unified by shared dimensions. Then name the tradeoff — time-to-value against built-in conformance — and close by saying which you would pick for the situation described and why. Reciting only the definitions reads as memorized; naming the consequence reads as experience.
- In Kimball's architecture, if there is no enterprise warehouse behind the marts, what stops two marts from disagreeing?Nothing structural — only design discipline. Kimball's answer is that shared dimensions are planned before any mart is built and then physically reused, so both fact tables point at the same customer table with the same keys. Skip that planning and you get isolated marts that report different numbers, which is the architecture's known failure mode.
- Does choosing Inmon mean business users query normalized tables?No. In Inmon's architecture the normalized enterprise warehouse is an integration layer, not a consumption layer. Users query the dependent marts built on top, which are usually dimensional. Pointing BI tools at the normalized layer produces many-join, hard-to-read queries and is generally a sign the marts were never built.
- Is one of the two approaches considered obsolete?Neither. Cheap storage and ELT made landing and re-processing raw data trivial, which softened the original argument about the cost of an extra layer, but both ideas survive inside modern stacks: an integration layer that reconciles sources, and dimensional marts that serve consumers. Presenting either school as dead is a weak answer.
Inmon builds the municipal water treatment plant first, then pipes to each neighbourhood. Kimball plumbs one neighbourhood now and standardizes the fittings so the next one connects cleanly.
saying these in an interview costs you the question
- Says Inmon means normalized and Kimball means denormalized, nothing more
- Claims Kimball has no integration story at all
- Thinks Inmon's enterprise warehouse is what analysts query
- Calls one approach outdated without naming a tradeoff
- Confuses build direction with star-versus-snowflake table shape