Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Dimensional modeling is still a practical way to build analytics systems on cloud warehouses and lakehouses. It separates measurable business events into fact tables and the descriptive context needed to filter and group them into dimension tables. Kimball’s method turns those structures into incrementally delivered data marts linked by conformed dimensions.

The modern pattern is layered: ingest and clean data in upstream bronze and silver stages, then publish stable, business-grain facts and reusable dimensions in a curated gold layer. The storage engine may be massively parallel, but the serving contract remains a star schema or a closely related dimensional model.

What dimensional modeling means

A dimensional model describes a business process in terms that analysts can query directly. A fact table records events or measurements, while dimension tables provide the descriptive context for slicing those measurements.

In a star schema, one fact table sits at the center and joins directly to dimensions through keys. For an order-line model, for example, a fact row might contain order date, product, customer, warehouse and promotion keys, plus quantity, unit price and discount measures. The date, product, customer and other dimensions hold names, categories, regions and other attributes used in reports.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ralph Kimball introduced dimensional modeling in 1996. The Kimball Group’s official technique set is based on The Data Warehouse Toolkit, Third Edition, published by Wiley in 2013. The approach applies to relational star schemas and to multidimensional OLAP cubes.

Start with grain: the rule that controls every fact row

Grain is the exact level of detail represented by one fact row. Declare it before selecting measures, keys or dimensions. Dimension-key combinations determine fact-table granularity, so a table must load rows at a consistent grain.

Examples of different grains

  • One row per order line: supports product-level quantity, price and discount analysis.
  • One row per order: supports order-level totals but cannot accurately answer every line-level question.
  • One row per product per day: supports daily inventory or sales snapshots, not individual transaction analysis.

Mixing these grains in one fact table causes double counting. A line-level revenue measure summed after joining to an order-level table can multiply totals; a daily snapshot cannot be treated as a transaction log. State the grain in the model documentation and test every measure against it.

How Kimball’s data-mart method works

Kimball uses a bottom-up lifecycle: deliver a useful business subject area, then expand it while reusing shared dimensions. The method favors manageable increments over a single enterprise-wide launch. The Kimball Group summarizes this principle as: “Iteratively develop the DW/BI environment in manageable lifecycle increments rather than attempting a galactic Big Bang approach.” See the Kimball DW/BI Lifecycle Methodology.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The four design decisions

  1. Select the business process. Choose an operational activity such as sales, shipments, claims or support cases.
  2. Declare the grain. Write the “one row per …” statement before choosing columns.
  3. Identify dimensions. Add the date, customer, product, location, employee and other perspectives required to describe that grain.
  4. Identify facts. Add measurements that are valid at the declared grain and document whether each is additive, semi-additive or non-additive.

Each resulting mart is optimized for a business context. Conformed dimensions—especially date, customer, product and location—provide the common vocabulary needed to compare measures across marts. A finance mart and a sales mart can therefore use the same fiscal calendar or customer definition instead of maintaining incompatible copies.

Fact tables and dimensions in practice

Fact tables

Facts normally contain foreign keys to dimensions, degenerate identifiers such as an invoice number when useful for drilling, and numeric measures. Additive measures can be summed across all dimensions (for example, line quantity). Semi-additive measures can be summed across some dimensions but not time (for example, an end-of-day account balance). Ratios and percentages should generally be calculated from stored components rather than summed.

Dimension tables

Dimensions contain human-readable attributes used for filtering, grouping and labeling. A product dimension might include brand, category, package size and lifecycle status. Keep descriptive attributes together when they share the same business entity and history policy; splitting them unnecessarily forces analysts to understand extra joins.

Conformed dimensions

A dimension is conformed when its keys, definitions and attribute meanings are governed consistently across marts. Conformance is what makes “sales by customer” comparable with “returns by customer.” It requires ownership of definitions, release procedures and tests that detect divergent values.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Surrogate keys and changing dimensions

Source-system identifiers are often mutable, reused or inconsistent across systems. A warehouse dimension therefore commonly uses a surrogate key—an internal, stable identifier—while retaining the natural source key for traceability. Facts reference the surrogate key so a source-key change does not rewrite historical joins.

Type 1: overwrite

Use a Type 1 policy when history is not analytically significant or corrections should replace prior values. Updating a misspelled customer name is a typical case; reports show the corrected value for all rows.

Type 2: preserve versions

Use Type 2 when reports must reproduce the attributes that were valid when an event occurred. Insert a new dimension version, assign a new surrogate key, record effective and end timestamps (or dates), and mark the current version. Existing facts keep their original key; later facts use the new key. Databricks Lakeflow guidance recommends this pattern when historical versions are required.

Durable mappings and refresh safety

Incremental pipelines must preserve the mapping between a business entity and its surrogate keys. Rebuilding a dimension can reassign identity values and silently break fact joins. Use a durable or deterministic mapping strategy, retain source identifiers, and test that previously published fact keys still resolve after a refresh. Also define behavior for late-arriving dimensions and facts, including how temporary or inferred members are reconciled when the source record arrives.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Where dimensional models fit in a lakehouse or medallion architecture

Modern platforms separate ingestion and transformation concerns from the serving model. A practical implementation is:

  1. Bronze: retain raw source records with ingestion metadata so data can be replayed.
  2. Silver: cleanse, standardize, deduplicate and historize entities; preserve source keys and change timestamps.
  3. Gold: publish curated facts at declared business grain, reusable dimensions, domain marts and, where useful, pre-aggregated summaries.

Microsoft Fabric describes gold as curated, business-ready data optimized for analytics and BI consumption, commonly including star schemas and domain marts. Databricks Lakeflow likewise places materialized dimensions and incrementally maintained fact tables in gold. The dimensional layer is therefore the consumer-facing contract even when files and tables are physically stored in a lakehouse.

At scale, use incremental transformations rather than full reloads where possible. Apply row- and column-level security in the serving layer, document lineage and transformation rules, and monitor both data freshness and query behavior. Preaggregation can reduce repeated scans for common workloads, but it should not replace a correctly grained atomic fact table when detailed analysis is required.

Star schema, normalized model or one big table?

No model wins for every consumer. Evaluate the alternatives against usability, metric consistency, change isolation, performance and cost, history, auditability and the intended data product.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Pattern Best fit Advantages Costs and risks
Kimball star schema BI, governed reporting and interactive analytics Readable joins, reusable dimensions, consistent metrics and efficient filtering on analytical engines Dimension and history management, duplicated attributes across marts, ETL work and coupling to known use cases
Normalized 3NF Integration, operational-style consistency and broad reuse Less redundancy and clearer dependency control More joins and a steeper learning curve for analysts; reporting views or marts are often still needed
Data Vault Auditable integration from many changing sources Explicit history, source traceability and flexible ingestion Many tables and joins; a dimensional presentation layer is commonly added for BI
One big table A narrow, stable use case or a controlled extract Simple consumption for one report or model and fewer visible joins Repeated columns, unclear grain, metric drift, expensive refreshes and weak reuse as requirements expand

Performance is workload- and engine-dependent. There is no authoritative benchmark that fairly generalizes star-schema performance against a one-big-table design across all cloud engines. Benchmark representative queries, concurrency, refresh windows and storage costs on the platform you operate.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Implementation checklist for a production mart

  1. Gather requirements and profile sources. Confirm definitions, null behavior, update patterns, volumes and ownership.
  2. Choose one business process and write the grain. Reject measures that do not belong at that grain.
  3. Design dimensions and facts. Classify measure additivity and identify dimensions that must be conformed with existing marts.
  4. Choose key policies. Document natural keys, surrogate-key generation, durable mappings and unknown-member handling.
  5. Specify history. Select Type 1, Type 2 or another supported SCD policy per attribute; define effective dating and late-arrival behavior.
  6. Build incremental transformations. Make loads restartable and idempotent, and retain enough metadata to reconcile source and target counts.
  7. Validate the data product. Reconcile totals, test grain and uniqueness, verify metric definitions, check security filters and trace lineage.
  8. Expose and operate. Publish semantic models or views for BI, monitor refresh duration and query performance, and review changes through data governance.

Trade-offs and governance at big-data scale

Kimball improves analyst usability because business concepts appear as direct dimensions and measures. Conformed dimensions reduce debates over definitions, and star schemas map naturally to massively parallel analytical systems. Those benefits come with obligations: marts can duplicate data, pipelines must synchronize shared entities, and a model designed for one consumer can become restrictive when new products appear.

Governance should cover ownership of dimensions, naming and metric definitions, schema-change contracts, SCD policies, security, lineage, data-quality thresholds and deprecation. Treat the gold mart as a versioned data product rather than an informal reporting table. Keep atomic facts where auditability matters, then add aggregates or specialized projections for known workloads.

Bottom line

Big data changed where data is stored and how pipelines scale; it did not remove the need for a clear analytical model. Use Kimball dimensional modeling when people need governed, understandable metrics, declare grain before building facts, preserve history deliberately, and publish conformed dimensions in the curated serving layer. Choose a normalized, Data Vault or wide-table pattern upstream or alongside it when integration, auditability or a specialized consumer—not general BI usability—is the primary requirement.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.