Summary IconKey Takeaways
  • Data warehouse design plans how business data is collected, structured, stored, and accessed for reporting and analysis.
  • A modern data warehouse uses four layers for ingestion, raw data storage, transformation, and data consumption.
  • The main design steps include requirements gathering, source mapping, ELT planning, data modeling, and presentation and security.
  • Star schemas organize analytical data using fact and dimension tables, making common reporting queries easier to manage.
  • Top-down and bottom-up approaches provide different ways to build a warehouse, depending on governance, delivery speed, and business needs.

Data warehouse design is the process of planning how data moves from business systems into a central location where teams can query, analyze, and use it for decision-making.

A well-designed warehouse keeps data organized, reduces duplicate work, and gives analysts consistent answers to business questions. Poor design can lead to slow dashboards, conflicting metrics, rising storage costs, and pipelines that become harder to maintain as data grows.

The need for reliable warehouse architecture is increasing as businesses collect more data from CRMs, applications, payment systems, websites, and SaaS tools. AI applications and advanced analytics also depend on accessible, well-structured data.

In this article, we are covering the core aspects of data warehouse design, including the main architecture layers, practical design steps, data modeling choices, and approaches used to build or modernize a data warehouse.

What Is Data Warehouse Design?

Data warehouse design defines how an organization collects, organizes, transforms, stores, and serves data for analytical use. It covers the warehouse structure, data models, pipelines, storage layers, security controls, and reporting requirements.

For example, imagine an online retailer that stores customer details in Salesforce, orders in PostgreSQL, and website activity as JSON event logs. Without a common design, analysts may calculate revenue differently depending on which system they query.

A data warehouse brings these sources together and applies consistent definitions. Sales, marketing, finance, and product teams can then work from the same historical data instead of maintaining separate spreadsheets and reports.

A good design should answer five practical questions:

  • What business questions must the warehouse answer?
  • Where does the required data come from?
  • How often should the data be updated?
  • How should the data be structured for analysis?
  • Who should be allowed to access each dataset?

For teams comparing platforms and services, these requirements often determine which data warehouse tools fit their architecture.

Understanding the 4-Layer Architecture of a Modern Data Warehouse

A modern data warehouse usually separates data movement, storage, transformation, and consumption into distinct layers. This separation gives each part of the system a clear responsibility and makes maintenance easier.

1. Ingestion Layer

The ingestion layer collects data from operational systems and sends it toward the warehouse environment. Sources may include production databases, SaaS applications, APIs, event streams, and flat files.

Why It Matters: Different sources have different authentication methods, refresh frequencies, API limits, and data volumes. A clear ingestion design helps teams choose suitable loading methods and reduces unnecessary strain on operational systems.

Example: An online store may ingest order data from PostgreSQL, customer data from Salesforce, and website events from a tracking platform. The ingestion layer handles these connections without requiring analysts to manually export files.

The ingestion layer should account for:

  • Authentication and connection management.
  • Full and incremental loading requirements.
  • Source refresh frequency and API limitations.

2. Raw Landing Layer

The raw landing layer stores data in its original form before major transformations take place. It acts as a historical record of what arrived from each source.

Why It Matters: Preserving source data makes troubleshooting, reprocessing, and auditing easier. If a transformation produces an unexpected result, engineers can compare the processed table with the original record.

Example: A company might land Salesforce records, PostgreSQL tables, and JSON event logs separately. The data may contain inconsistent names, duplicate records, missing fields, or different date formats at this stage.

The raw landing layer may also be called the raw zone, landing zone, or Bronze layer.

3. Core Warehouse Layer

The core warehouse layer cleans and organizes raw data into consistent tables that analysts and downstream applications can use.

Why It Matters: This layer applies shared business rules, standardizes fields, removes unnecessary duplicates, and combines related records from different systems. It prevents every analyst from repeating the same preparation work.

Example: The warehouse might combine customer IDs from a CRM with order records from an operational database. Instead of reconciling both systems for every report, analysts can use a consistent customer and sales model.

Most data modeling decisions happen in this layer. Teams may use dimensional models, normalized tables, or a combination of both.

4. Consumption Layer

The consumption layer delivers trusted data to the people and systems that need it. Typical consumers include BI dashboards, finance reports, machine learning models, AI applications, and internal operational tools.

Why It Matters: Business users should be able to access understandable datasets without learning the technical structure of the entire warehouse. Clear data marts and shared metrics also reduce conflicting reports.

Example: A company might create a sales data mart for the revenue team, a marketing mart for campaign analysis, and a customer analytics mart for product teams.

The consumption layer may include:

  • Department-specific data marts.
  • Semantic models for shared metrics.
  • BI dashboards and reporting datasets.

The four layers can be represented as:

Business Sources

      |

      v

+——————-+

| Ingestion Layer   |

| APIs, databases,  |

| SaaS tools, logs  |

+——————-+

      |

      v

+——————-+

| Raw Landing Layer |

| Original source   |

| data, unchanged   |

+——————-+

      |

      v

+——————-+

| Core Warehouse    |

| Cleaned tables,   |

| joins, business   |

| rules, data model |

+——————-+

      |

      v

+——————-+

| Consumption Layer |

| BI, data marts,   |

| AI, ML, reporting |

+——————-+

How to Design a Data Warehouse?

Designing a data warehouse starts with business requirements and ends with secure, usable datasets. The following five steps provide a practical starting point for new warehouses, migrations, and modernization projects.

Step 1: Requirements Gathering

Start with business questions, not database tables. Before choosing a schema or storage platform, understand what teams need to measure, how often they need updates, and which decisions depend on the data.

What to Define

  • Business questions: Identify the reports, decisions, and performance indicators the warehouse must support.
  • Metric definitions: Agree on how teams will calculate revenue, active users, churn, conversion, and other important metrics.
  • Data freshness: Define whether each dataset needs hourly, daily, or near-real-time updates.
  • Historical coverage: Decide how much historical data must be retained.
  • Access requirements: Identify which teams need access to customer, financial, operational, or other sensitive information.
  • Performance expectations: Set reasonable query and dashboard response-time requirements.

Takeaway: Document the business questions, metric definitions, table grain, refresh schedules, retention needs, and access requirements before selecting the warehouse architecture.

Step 2: Data Source Mapping

Data source mapping creates an inventory of the systems that will feed the warehouse. The goal is to understand where data lives, how it changes, and what limitations affect extraction.

What to Document

Data SourceDetails to Capture
Operational databasesTables, owners, update patterns, and primary keys
SaaS applicationsAvailable objects, API limits, authentication, and pagination
Event logsFile format, event structure, timestamps, and volume
Finance filesFile ownership, delivery schedule, and column definitions
Payment and advertising platformsExtraction methods, historical access, and retention limits
Internal applicationsAPIs, database connections, and schema ownership

Also document:

  • Data owner: Who is responsible for the source system?
  • Data format: SQL tables, JSON, CSV, XML, or another format.
  • Data volume: How many records exist today, and how quickly does the source grow?
  • Update pattern: Batch updates, continuous changes, or irregular uploads.
  • Retention requirements: How long the source keeps historical records.

This inventory helps identify gaps before pipeline development begins. It also supports a clearer comparison of best etl tools data warehouse teams may consider.

Takeaway: Create a source inventory with ownership, format, volume, update frequency, extraction limits, and retention details before building pipelines.

Step 3: Pipeline Strategy (ELT)

ELT stands for Extract, Load, Transform. It moves data into the warehouse before applying most transformations. This approach is common in cloud data warehouses because storage and compute can scale independently.

Plan the Pipeline

  1. Extract: Connect to databases, SaaS applications, APIs, files, and event systems.
  2. Load: Store source data in the raw landing layer.
  3. Transform: Clean, standardize, join, and validate data inside the warehouse.
  4. Publish: Make trusted tables available to analysts and downstream applications.
  5. Monitor: Track pipeline failures, freshness, row counts, and schema changes.
  6. Optimize: Use incremental loading and Change Data Capture (CDC) where appropriate.

For example, a pipeline may copy Salesforce customer records into a raw schema before standardizing names, merging duplicates, and joining them with order data. Tools such as Fivetran and Airbyte commonly handle ingestion, while dbt is often used to manage SQL-based transformations.

Takeaway: Keep raw data separate from transformed data, choose full or incremental loading based on source behavior, and add monitoring before pipelines support production reporting.

Step 4: Data Modeling (Star Schema)

Data modeling determines how warehouse tables are organized for reporting and analysis. The model should make common queries easy to understand while keeping performance and maintenance requirements manageable.

Build the Analytical Model

  • Define the grain: Decide exactly what one row in each fact table represents.
  • Create fact tables: Store measurable business events such as orders, payments, shipments, or website sessions.
  • Create dimension tables: Store descriptive details such as customers, products, employees, locations, or dates.
  • Choose keys: Establish reliable primary and foreign keys for relationships between tables.
  • Document metrics: Define how measures such as revenue, quantity, and margin should be calculated.
  • Test common queries: Validate the model against the dashboards and reports it needs to support.

A star schema contains fact tables connected to dimension tables:

Dim_customer

|

|

dim_product —- fact_sales —- dim_date

|

|

    dim_store

For an online retailer, the fact_sales table could contain:

  • Order ID
  • Customer ID
  • Product ID
  • Store ID
  • Date ID
  • Quantity
  • Revenue
  • Discount

The dimension tables provide the details needed to interpret each sale.

Example: An analyst can join fact_sales with dim_customer to compare revenue by customer segment, or join it with dim_product to identify the best-performing product categories.

Star Schema vs. Snowflake Schema

A star schema keeps dimensions relatively denormalized. Related attributes are stored together, reducing the number of joins needed for common analytical queries.

A snowflake schema normalizes dimension tables into additional related tables. For example, a product dimension might be split into separate product, category, and brand tables.

AspectStar SchemaSnowflake Schema
StructureCentral fact table connected to denormalized dimensionsCentral fact table connected to normalized dimensions
Query complexityUsually simplerOften requires more joins
StorageMay use more storage because of repeated attributesCan reduce duplicate dimension data
PerformanceOften faster for common BI queriesMay be slower because of additional joins
MaintenanceEasier for analysts to understandMore complex to manage
Best suited forReporting, dashboards, and self-service analyticsComplex dimensions with shared hierarchical attributes

Both models can work well. The right choice depends on data volume, query patterns, governance requirements, and the skills of the people using the warehouse.

For more details on choosing and implementing models, see this guide to data warehouse modeling.

Takeaway: Define table grain first, then design fact and dimension tables around the business questions the warehouse must answer.

Step 5: Presentation and Security

The presentation layer prepares data for business users, reporting tools, and downstream applications. It should provide clean datasets without exposing unnecessary technical complexity.

Prepare the Data for Use

  • Create data marts: Organize datasets around departments or business functions such as sales, marketing, finance, and product analytics.
  • Define metric ownership: Assign owners for important metrics and published datasets.
  • Document refresh schedules: Tell users when data was last updated and when the next update is expected.
  • Apply access controls: Use Role-Based Access Control (RBAC) to restrict access according to job responsibilities.
  • Protect sensitive data: Mask, tokenize, or restrict access to personal, financial, and payment-related information.
  • Maintain lineage: Document where important metrics and tables originate.

Example: Finance users may access revenue and margin data, while marketing users may access campaign and customer engagement metrics. Sensitive customer information such as email addresses and phone numbers may require restricted access.

Takeaway: Publish clear, trusted datasets with documented ownership, refresh schedules, metric definitions, lineage, and access permissions.

Build a Reliable Data Foundation With Hevo
Hevo connects data sources to your warehouse without requiring teams to build every ingestion pipeline from scratch. It supports the movement of data from databases, SaaS applications, and other business systems into analytical destinations.

Data Warehouse Design Approaches

Organizations generally follow two broad approaches when designing a data warehouse: top-down and bottom-up. The top-down approach builds a central enterprise warehouse first, while the bottom-up approach starts with departmental data marts.

The choice affects implementation speed, governance, data consistency, and long-term maintenance.

1. Top-Down Data Warehouse Design

The top-down approach starts with an enterprise warehouse. The organization first designs a central repository that integrates data across departments and business functions. After the central warehouse is established, teams create departmental data marts for specific reporting needs.

Example: A company may first integrate customer, sales, finance, and product data into an enterprise warehouse. It can then create separate marts for the finance and marketing teams.

Advantages of the Top-Down Approach

  • Consistent business definitions: Departments use shared definitions for customers, revenue, and other metrics.
  • Centralized governance: Security, quality rules, and ownership can be managed across the organization.
  • Reduced duplication: Shared data is stored and maintained centrally.
  • Better long-term integration: New departments can connect to an established enterprise structure.

Disadvantages of the Top-Down Approach

  • Higher initial cost: Designing and building an enterprise warehouse requires significant planning and engineering effort.
  • Longer implementation time: Business users may wait before receiving department-specific reports.
  • More complex planning: Integrating multiple systems and business domains can delay early delivery.
  • Less flexibility at the beginning: Changes to the central architecture may require coordination across teams.

This approach is often associated with enterprise data warehousing and is useful for organizations that need centralized governance and consistent reporting.

2. Bottom-Up Data Warehouse Design

The bottom-up approach starts with data marts. Individual departments build analytical datasets around their immediate needs, and these marts are later integrated into a broader warehouse environment.

Example: A marketing team may first build a campaign performance mart using data from Google Ads and Salesforce. The finance team may independently build a revenue mart using billing and accounting data.

Over time, both teams can align their definitions and integrate their data into a shared warehouse.

Advantages of the Bottom-Up Approach

  • Faster delivery: Departments can receive useful reports without waiting for an enterprise-wide project.
  • Incremental development: Teams can build and expand the warehouse in stages.
  • User-focused design: Data models are shaped around real reporting requirements.
  • Lower initial commitment: Organizations can start with a smaller project before expanding.

Disadvantages of the Bottom-Up Approach

  • Inconsistent definitions: Different teams may calculate the same metric differently.
  • Data silos: Departmental marts can become difficult to integrate.
  • Duplicate data: Multiple teams may store similar datasets independently.
  • Higher maintenance effort: Each mart may require separate pipelines, transformations, and access controls.

This approach is commonly associated with dimensional modeling and is useful when teams need results quickly and can establish shared standards as the architecture grows.

Top-Down vs. Bottom-Up: Which Approach Should You Choose?

AspectTop-Down ApproachBottom-Up Approach
Starting pointEnterprise data warehouseDepartmental data marts
Delivery speedSlower at the beginningFaster for individual teams
GovernanceCentralized from the startAdded as systems are integrated
ConsistencyUsually stronger across departmentsRequires shared definitions and standards
Initial costHigherLower
FlexibilityMore structuredMore adaptable
Best forLarge organizations with complex governance needsTeams that need incremental delivery

In practice, many organizations combine both approaches. They may start with a departmental use case, establish shared standards, and gradually build an enterprise warehouse around proven requirements.

The most useful design is not necessarily the largest one. It is the one that supports current business questions while leaving room for new sources, workloads, and users.

Best Practices for Data Warehouse Design

A warehouse can technically load data and still fail to deliver reliable analytics. The following practices help prevent common architecture and maintenance problems.

1. Start With Business Requirements

Define metrics before designing tables. If teams do not agree on what revenue, active users, or churn means, the warehouse will reproduce those disagreements at a larger scale. Document the business question, metric definition, table grain, refresh frequency, and expected users for each important dataset.

2. Keep Raw and Transformed Data Separate

Preserve original source records whenever possible. A raw layer provides a reference point for debugging, reprocessing, and investigating unexpected changes. It also prevents teams from repeatedly extracting data from operational systems when a historical copy already exists in the warehouse.

3. Use Incremental Loading

Move only changed records when possible. Incremental pipelines reduce processing time, source-system load, and warehouse compute consumption. Change Data Capture, timestamp-based extraction, and source-specific update markers are common methods for identifying new or changed records.

4. Define Table Grain Clearly

Document what one row represents. A fact table might contain one row per order, one row per product within an order, or one row per daily customer activity. If the grain is unclear, joins can duplicate values and produce incorrect totals.

5. Add Automated Data Quality Checks

Check data before users depend on it. Automated tests can identify missing records, unexpected null values, duplicate keys, schema changes, and unusual row counts. Useful checks include row-count comparisons, freshness checks, null-value checks, duplicate-key detection, accepted-value validation, and schema-drift alerts.

6. Plan for Query Performance

Design around common query patterns. Partitioning, clustering, indexing where supported, and materialized views can reduce the time required for frequently used queries. Do not optimize every table in advance; focus on datasets that support important dashboards, recurring reports, or high-volume analytical workloads.

7. Establish Ownership and Governance

Assign owners to important datasets. Each data mart or core table should have someone responsible for definitions, quality expectations, access permissions, and change communication. Governance should also cover retention, lineage, documentation, and handling of sensitive information.

8. Design for Growth

Plan for future sources and workloads. A warehouse built for ten tables may struggle when the organization adds hundreds of sources, real-time events, or AI applications. Consider how the architecture will handle higher volumes, new data formats, changing schemas, and additional consumers before those needs become urgent.

How Hevo Helps You Build a Data Warehouse

Building a warehouse requires more than choosing a database. Teams must connect source systems, manage authentication, handle schema changes, monitor pipeline health, and keep data moving reliably.

Hevo helps simplify this process by connecting databases, SaaS applications, and other data sources to analytical destinations.

Instead of manually maintaining separate ingestion scripts for every source, teams can use Hevo to automate data movement and focus their engineering effort on modeling, governance, and analytics.

Hevo supports the foundation required for a modern warehouse architecture: reliable ingestion, centralized data movement, and a clear path from operational systems to analytical storage.

What Are the Top Data Modeling Techniques?

The most common data modeling techniques for data warehouses include star schema, snowflake schema, and galaxy schema.
A star schema uses a central fact table connected to dimension tables. A snowflake schema normalizes dimensions into additional related tables. A galaxy schema contains multiple fact tables that share common dimensions.

What Is the Difference Between a Data Warehouse and an Operational Data Store?

A data warehouse is designed for historical analysis, complex queries, reporting, and analytics. An Operational Data Store (ODS) is designed for current or near-current operational reporting.
A data warehouse typically stores historical data from multiple systems and is optimized for analytical workloads. An ODS usually contains more recent data and supports operational processes that need frequently updated information.

What Are the Key Components of a Data Warehouse?

The main components include data sources, ingestion pipelines, raw storage, transformation processes, the central warehouse, data marts or semantic models, metadata, governance, security controls, and BI or analytical tools.
Together, these components collect data, organize it for analysis, and deliver it to authorized users and applications.

What Is the Difference Between a Data Warehouse and a Data Lake?

A data warehouse stores structured, processed data for reporting and analysis. A data lake stores large volumes of raw or semi-structured data in its original format.
A warehouse is usually optimized for SQL analytics and business reporting, while a lake can support broader workloads such as machine learning, exploratory analysis, and archival storage.
For a deeper comparison, see data warehouse vs data lake.

What Is the Difference Between a Data Warehouse and a Database?

A database usually supports operational applications that need fast inserts, updates, and transactions. A data warehouse supports analytical queries across large volumes of historical data.
For example, an application database may process an individual customer order, while a data warehouse may analyze millions of orders to identify sales trends over several years.
See data warehouse vs database for a detailed comparison.