Data Warehousing
A data warehouse is a central repository that stores structured, historical data optimized for analytical queries rather than transaction processing. It consolidates data from multiple source systems into a consistent schema so business analysts can run reports and measure trends reliably.
itData engineering and analytics | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Data Warehousing
A data warehouse is where several operational systems send selected history so people can ask questions that no single application was designed to answer. It is not a grander order system with bigger shelving. It is a historical measurement system, which sounds stern because numbers become remarkably creative when left unattended.
An order system knows that an order happened. A support system knows that a case happened. A marketing platform knows that somebody responded to a campaign. Each is busy doing its own job, and asking one of them for three years of cross-company analysis is rather like asking a cashier to inventory the building during lunch. The warehouse gives those records a separate place to be cleaned, connected, and examined without disturbing the transaction work.
The useful mental furniture is grain, facts, and dimensions. Grain is the precise promise made by one fact row: perhaps one product line on one completed order. Facts are the measurements at that promise. Dimensions are the descriptive context that lets a report group those measurements by date, customer, product, or store. Get grain wrong and a query can multiply revenue with impeccable manners. Get it right and the model tells every measure where it is allowed to stand.
History is the part that looks polite until it is not. A customer can change segment and a product can change category. A slowly changing dimension decides whether an old sale keeps the old description or is viewed through the new one. Type 2 history keeps versioned rows so old facts can retain their original context. That is a design choice, not an automatic courtesy supplied by SQL.
The pipeline also needs to behave like a record keeper. Ingestion collects changes. Staging gives them somewhere to wait and restart. Transformation conforms identifiers and applies rules. Then dimensions usually load before facts, because a fact needs a resolved surrogate key. Reconciliation compares source totals with published totals. A job that finished successfully but lost rows has merely failed with a cheerful status message.
Start with the Course tab for the full architecture and the reason each boundary is a contract. Use Slides when you need the relationships in one view. The Cheatsheet is the working list for grain, history, incremental-load, and quality decisions. Field Notes concentrates on the expensive mistakes that tidy queries can hide. Then use Quiz to test the mental model, and Reference when the next question needs authoritative detail rather than fresh optimism.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.ibm.com/think/topics/data-warehouse
Supports
- Data warehouses as integrated stores optimized for querying and analysis
- ETL and ELT as warehouse data-pipeline patterns
- OLAP analysis compared with operational transaction processing
- Warehouse architecture spanning data, analytics, and consumer layers
- Enterprise warehouses, data marts, and operational data stores
- Workload differences among warehouses, lakes, and lakehouses
- https://learn.microsoft.com/en-us/fabric/data-warehouse/dimensional-modeling-overview
Supports
- Star schemas as fact and dimension table structures for analytical queries
- Facts as measurements associated with events or observations
- Dimensions as descriptive entities used for filtering and grouping
- Periodic ETL synchronization from operational sources
- Historical accuracy, permissions, and iterative warehouse planning
- https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/
Supports
- Business process and grain as fundamental dimensional-design concepts
- Additive, semi-additive, and non-additive facts
- Transaction, periodic snapshot, accumulating snapshot, and factless fact patterns
- Conformed dimensions and warehouse bus architecture
- Type 1, Type 2, and Type 3 slowly changing dimension techniques
- https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/grain/
Supports
- Grain as the definition of what one fact-table row represents
- Declaration of grain before dimensions and facts are selected
- https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/type-2
Supports
- Type 2 slowly changing dimensions as new rows with new surrogate keys
- Preservation of historical dimension context
- https://docs.oracle.com/cd/F19136_01/dwhsg/database-data-warehousing-guide.pdf
Supports
- Fact tables, dimension tables, star schemas, and snowflake schemas
- Single-grain fact tables and the analytical value of detailed grain
- Additive, semi-additive, and non-additive measure behavior
- Conformed dimensions and conformed facts across several stars
- Surrogate keys that insulate dimensions from operational changes
- Warehouse physical design through partitioning and materialized views
- https://learn.microsoft.com/en-us/fabric/data-warehouse/dimensional-modeling-dimension-tables
Supports
- Surrogate and natural keys in dimension tables
- Dimension attributes for analytical filtering and grouping
- Historical tracking attributes and audit attributes
- Type 1 overwrite and Type 2 versioned-row behavior
- Date dimensions, hierarchies, and conformed dimensions
- Unknown and missing special dimension members
- https://learn.microsoft.com/en-us/fabric/data-warehouse/dimensional-modeling-fact-tables
Supports
- Transaction, periodic snapshot, and accumulating snapshot fact tables
- Fact-table size as a result of dimensions, grain, measures, and history
- Aggregate fact tables for commonly queried summaries
- https://learn.microsoft.com/en-us/fabric/data-warehouse/dimensional-modeling-load-tables
Supports
- Staging to reduce source impact, support processing, and enable restart
- Transformation to reshape, clean, conform, combine, and convert source data
- Historical-change handling during dimensional loads
- Set-based warehouse loading approaches
- Data-quality validation before dimensional tables are published
- https://learn.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-query-performance?view=sql-server-ver17
Supports
- Columnstore compression, row-group elimination, and batch processing
- Reduced input and output work for analytical scans
- Data ordering, deletion, and maintenance considerations
- Star-schema use in analytical and data-warehouse workloads
- https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-partition
Supports
- Date-based partitioning for load maintenance and filtered queries
- Partition switching and elimination behavior
- Performance risks from too many partitions
- Platform-specific partition sizing considerations
- https://archive.org/details/buildingdataware00inmo
Supports
- Building the Data Warehouse published in 1992
- https://books.google.com/books?id=7w5QAAAAMAAJ
Supports
- The Data Warehouse Toolkit publication in 1996
- Dimensional modeling with facts and dimensions
- https://danlinstedt.com/all-things-data-vault/what-is-a-data-vault/
Supports
- Data Vault history and public release in 2000
- https://research.google/pubs/dremel-interactive-analysis-of-web-scale-datasets/
Supports
- Dremel's 2010 distributed interactive analysis architecture
- https://cloud.google.com/blog/products/data-analytics/new-blog-series-bigquery-explained-overview
Supports
- BigQuery general availability in 2011
- BigQuery as a serverless enterprise data warehouse
- https://aws.amazon.com/about-aws/whats-new/2013/02/14/amazon-redshift-available-to-all-customers/
Supports
- Amazon Redshift broad availability in February 2013
- Managed warehouse SQL analysis through BI tools
- https://www.snowflake.com/en/blog/behind-snowflakes-name/
Supports
- Snowflake's cloud-built warehouse architecture in 2014
- Independently sized virtual warehouses for workloads
- https://www.getdbt.com/blog/whats-in-a-name
Supports
- dbt development beginning in July 2016
- dbt modeling, testing, and documentation practices
- https://azure.microsoft.com/en-us/blog/azure-sql-data-warehouse-is-now-azure-synapse-analytics//
Supports
- Azure Synapse introduction in November 2019
- Integration of warehouse and big-data analytics workloads
- https://docs.databricks.com/aws/en/sql/release-notes/2021
Supports
- Databricks SQL general availability in December 2021
- https://github.com/dbt-labs/dbt-technical-blog-writing/discussions/55
Supports
- Measure overstatement risk from joins between fact tables
- https://www.getdbt.com/blog/modeling-success-dbt
Supports
- Dimensional modeling, testing, and documentation for maintained analytics models
- https://www.snowflake.com/
Supports
- Snowflake product landscape entry
- https://cloud.google.com/bigquery
Supports
- BigQuery product landscape entry
- https://aws.amazon.com/redshift/
Supports
- Amazon Redshift product landscape entry
- https://www.microsoft.com/en-us/microsoft-fabric/data-warehouse
Supports
- Microsoft Fabric Warehouse product landscape entry
- https://www.databricks.com/product/databricks-sql
Supports
- Databricks SQL product landscape entry
- https://www.teradata.com/platform/vantage
Supports
- Teradata Vantage product landscape entry
- https://clickhouse.com/cloud
Supports
- ClickHouse Cloud product landscape entry
- https://duckdb.org/
Supports
- DuckDB product landscape entry and local exercise platform
