Skip to content

Kimball's DW/BI Architecture

Developed by Ralph Kimball, this architecture takes a bottom-up approach focused entirely on dimensional modeling and delivering immediate business value.

Kimball's DW/BI Architecture

The architecture consists of four distinct and logically separated components:

Operational Source Systems

These are the core systems capturing the day-to-day transactions of the business (e.g., ERP, CRM, legacy systems).

  • Purpose: Designed to run operations, highly normalized and optimized for fast inserts/updates (OLTP).

ETL System

The "kitchen" of the data warehouse. It is responsible for extracting source data, transforming it (cleansing, standardizing, resolving quality issues, generating surrogate keys) and loading it into the presentation area.

Data Presentation Area

Data is organized, stored and made available for direct querying by users and BI applications. This is the core deliverable.

  • Dimensional Modeling: Data is structured into Fact tables (metrics) and Dimension tables (context), forming star schemas.
  • Enterprise Data Warehouse Bus Architecture: Kimball builds the warehouse incrementally through business-process-oriented dimensional data marts. These marts are integrated through conformed dimensions, allowing them to function as a unified enterprise-wide architecture rather than isolated departmental silos. The Bus Matrix is the primary planning tool for identifying these integration points.
  • Characteristics: Designed to simplify analytical querying and provide fast performance, the data is denormalized, contains deep history, and is strictly read-only for users.

Bus Matrix

The Bus Matrix is the foundational planning tool for Kimball's Enterprise Data Warehouse Bus Architecture. It maps business processes (rows) to the conformed dimensions (columns), showing which dimensions are shared across processes.

Business ProcessDateProductCustomerStoreEmployee
Retail SalesXXXXX
InventoryXXX
Customer SupportXXXX

This helps teams identify integration points, build conformed dimensions once, and reuse them across multiple business processes.

A detailed implementation Bus Matrix extends this planning by documenting the grain, facts, dimensions, and implementation status for each business process.

An Opportunity/Stakeholder Matrix complements the Bus Matrix by mapping business opportunities or processes to their key stakeholders, helping prioritize development based on business value and stakeholder needs.

Drilling Across

Drilling across is a technique for analyzing multiple business processes by querying their fact tables separately and then combining the aggregated results using shared conformed dimensions.

For example, suppose an organization has separate Shipment and Return fact tables. Both share the Customer and Product dimensions. To compare shipments and returns, each fact table is first aggregated independently by the common dimensions. The resulting datasets can then be combined safely.

Multipass SQL

Multipass SQL is the technique used to implement drilling across. Instead of joining two fact tables directly, the BI application issues separate queries against each fact table and then combines their aggregated result sets.

Directly joining fact tables can produce row multiplication when multiple rows from one fact match multiple rows from another. This can cause measures to be duplicated and produce incorrect totals.

For example, suppose the shipment and return facts contain:

Shipments Fact Table:

customer_keyproduct_keyshipped_qty
AliceLaptop10

Returns Fact Table:

customer_keyproduct_keyreturned_qty
AliceLaptop2

Each fact table is queried independently:

Result Set A - Shipments:

customer_keyproduct_keytotal_shipped
AliceLaptop10

Result Set B - Returns:

customer_keyproduct_keytotal_returned
AliceLaptop2

The two result sets are then combined using their common dimensional attributes:

Combined Result:

customer_keyproduct_keytotal_shippedtotal_returned
AliceLaptop102

This approach ensures that each fact is aggregated at its own grain before the results are combined, preventing incorrect results caused by fact-to-fact joins.

Business Intelligence (BI) Applications

The tools (dashboards, ad-hoc query tools) that business users interact with. They primarily query the dimensional models in the Data Presentation Area.