A new warehouse for a mid-sized company. Kimball or Inmon — and what would change your answer?
Why they ask this
It is the classic methodology question, and the useful answer treats them as different starting points rather than as a religion.
Say this
Kimball for almost every mid-sized company: build the dimensional marts business process by business process, conformed through a bus matrix, and deliver value in weeks. Inmon earns its integration layer when there are many source systems with genuinely conflicting definitions and a long horizon.
The reasoning
Kimball builds bottom-up: pick a business process, model it dimensionally, conform its dimensions against what exists, ship it. Value arrives early and integration is achieved through conformance rather than through a central model. The risk is that without the bus matrix discipline you get a pile of marts that cannot be combined.
Inmon builds top-down: a normalized, integrated enterprise layer first, with dimensional marts derived from it. The integration is explicit and durable, and it costs time before anything reaches a user — which is why it suits organisations with many conflicting sources, long horizons and the patience to fund a layer nobody queries directly.
In practice most modern warehouses are Kimball-shaped at the serving layer regardless of what happens underneath, because that is the shape BI tools and analysts want. The real question is usually not which methodology but whether you need an integrated layer *beneath* the marts, and that depends on how badly your sources disagree.
What would change my answer: a dozen source systems with conflicting customer definitions, a regulated industry needing full auditability of transformations, or an organisation where marts are built by teams who will not coordinate. Any of those makes an integration layer earn its cost.
The formulations
-- conformed dimensions planned up front -- one business process at a time
Value in weeks and integration by conformance; the default for most organisations.
-- 3NF enterprise layer -> dimensional marts
Earns its cost with many conflicting sources and a long horizon; slow to first delivery.
-- each team builds what it needs
Fast, and produces marts that cannot be combined and dimensions that disagree.
The answer most people give
"Kimball is outdated — modern stacks do not need dimensional modelling." Conformance, declared grain and history are the things dimensional modelling provides, and nothing about a modern stack supplies them. Cheap storage did not make definitions agree.
They’ll ask next
What would make you build an integration layer under the marts? Name two conditions.
