Data Warehouse Design: Architecture, Modeling, and Best Practices

Justyna
PMO Manager at Multishoring
Executive summary

A well-designed data warehouse turns data from separate operational systems into consistent, analysis-ready information. The work covers more than storage: it connects business requirements to architecture, data models, ETL or ELT pipelines, security controls, service levels, and operating practices.

This guide explains how to design a data warehouse step by step, from prioritizing analytical use cases and declaring fact-table grain to choosing an architecture, building reliable pipelines, and controlling performance and cost. It also compares star, snowflake, and galaxy schemas and explains where cloud warehouse and lakehouse designs overlap.

The central principle is simple: start with the decisions people need to make, not with the schemas of the source systems. If your organization needs help assessing, designing, or modernizing its analytical platform, explore our data warehouse consulting services.

A well-designed data warehouse turns data from separate operational systems into consistent, analysis-ready information. It gives analysts a stable model, gives business teams shared definitions, and gives engineering teams a controlled way to change pipelines without breaking every report downstream.

That outcome depends on more than choosing a cloud platform. Data warehouse design covers the architecture, data model, ingestion and transformation pipelines, security controls, service levels, and operating practices that keep the system useful after launch.

This guide explains how those decisions fit together and where common designs fail.

What is data warehouse design?

Data warehouse design is the process of deciding how analytical data will be collected, stored, modeled, governed, and served. It connects business questions to a technical architecture.

A complete design defines:

  • which decisions and reports the warehouse must support;
  • which source systems provide the required data;
  • how quickly data must become available;
  • what each row in a fact table represents;
  • how business entities and metrics are defined;
  • how data quality, lineage, access, and retention are controlled;
  • how the platform will meet performance and cost targets.

The warehouse itself is a centralized analytical data store. Unlike a transactional database, it is optimized for examining large sets of historical data across subjects such as customers, orders, products, finance, and operations. Google Cloud’s data warehouse overview describes the same core purpose: combining data from multiple sources for reporting and analysis.

Data warehouse, operational database, data lake, or lakehouse?

These systems overlap, but they solve different primary problems.

SystemPrimary jobTypical dataTypical users
Operational databaseRun an application or business processCurrent, detailed transactionsApplications and operational teams
Data warehouseProvide governed historical analysisIntegrated, modeled, structured dataAnalysts, BI users, finance, operations
Data lakeRetain data economically in many formatsRaw and curated structured, semi-structured, and unstructured dataData engineers, data scientists, ML teams
LakehouseCombine object storage with warehouse-like management and query capabilitiesRaw through business-ready dataEngineering, analytics, BI, and ML teams

The boundary is no longer absolute. A cloud warehouse may query external object storage, while a lakehouse may serve dimensional models to BI tools. The design question is not which label sounds most modern. It is where data contracts, quality controls, business logic, and access policies will be enforced.

Design a warehouse your teams can trust

We design, build, and modernize data warehouses around the decisions, service levels, and controls your business needs.

SEE OUR SERVICES

Talk to our team about architecture, migration, modeling, and performance.

Justyna - PMO Manager
Justyna PMO Manager

Talk to our team about architecture, migration, modeling, and performance.

SEE OUR SERVICES
Justyna - PMO Manager
Justyna PMO Manager

Start with the business questions, not the source schemas

The first design artifact should describe decisions, not tables. A source-first project often reproduces an ERP or CRM inside a new platform and postpones the hard questions about metric definitions until dashboard development.

Begin with a small set of use cases. For each one, record:

  • the decision or workflow it supports;
  • the measures and dimensions users need;
  • the owner of each business definition;
  • required history and retention;
  • expected data freshness;
  • acceptable query response time;
  • security and privacy classification;
  • reconciliation criteria against the source.

For example, “daily sales reporting” is too vague. A useful requirement states whether revenue means booked, invoiced, shipped, or paid revenue; which currencies apply; how returns are treated; and when the report is considered complete.

This work also exposes conflicting definitions early. If Finance and Sales calculate annual recurring revenue differently, a faster pipeline will only deliver the disagreement sooner.

A practical data warehouse architecture

A modern data warehouse architecture usually separates ingestion, storage, transformation, business modeling, and consumption. Security, metadata, quality, lineage, and monitoring cut across every layer.

LayerResponsibilityDesign questions
Source systemsProduce operational dataWho owns each source? What can change without notice?
IngestionMove batch, change data capture, or streaming eventsWhat latency is required? Can a load be replayed safely?
Landing and stagingPreserve received data and isolate processingIs raw data immutable? How are schemas and late records handled?
Transformation and integrationClean, standardize, reconcile, and join dataWhere does business logic live? How is it tested and versioned?
Warehouse storageHold integrated historical dataWhat model, partitioning, retention, and recovery strategy apply?
Semantic and serving layerPublish trusted metrics and business-ready datasetsWhere are shared definitions enforced? Which tools consume them?
ConsumptionSupport BI, ad hoc SQL, applications, and AI workloadsWhich workloads need isolation or different service levels?

Microsoft’s modern data warehouse guidance groups the flow into ingest, transform, model, and serve stages, with orchestration and governance spanning the system. That is a useful logical model even when the chosen products use different names.

What should a data warehouse architecture diagram show?

A useful data warehouse architecture diagram shows data movement and control boundaries, not just product logos. It should identify sources, ingestion modes, storage zones, transformation, the warehouse model, the semantic layer, consumers, orchestration, and cross-cutting controls.

A simplified flow looks like this:

Source systems
      |
Batch, CDC, and streaming ingestion
      |
Landing and staging
      |
Transformation and data quality
      |
Integrated warehouse models
      |
Semantic layer and data products
      |
BI, analytics, applications, and AI

Across all layers: orchestration, lineage, catalog, security, monitoring, and cost controls

For publication, this flow should become an original branded graphic with the alt text: “Data warehouse architecture diagram showing sources, ingestion, staging, transformation, warehouse models, semantic layer, and analytics consumers.”

Common data warehouse architecture patterns

There is no single best architecture. The right pattern depends on organizational ownership, data volume, latency, regulation, existing platforms, and the number of consuming teams.

Three-tier architecture

The classic three-tier model separates the system into:

  1. a bottom tier for data sources, integration, and warehouse storage;
  2. a middle tier for analytical or semantic processing;
  3. a top tier for BI tools, reports, and user access.

The separation is logical. A managed cloud platform may implement several tiers within one service, while a larger enterprise may use a different product for each.

Dimensional warehouse with data marts

A dimensional design organizes data around business processes such as orders, shipments, claims, or subscriptions. Conformed dimensions allow separate fact tables and data marts to use the same definitions for customers, products, dates, and locations.

This pattern works well for BI because its models match the questions users ask. Its main risk is fragmentation when teams create marts independently and redefine shared dimensions or metrics.

Enterprise integration hub

An enterprise warehouse can integrate data centrally before publishing dependent marts. This improves consistency where many functions must share master data and historical rules. It also increases coordination cost, so delivery should usually proceed by bounded business domains rather than a multi-year attempt to model the entire company before releasing value.

Data Vault and hybrid models

Data Vault separates business keys, relationships, and descriptive history. It can suit environments with many changing sources, audit requirements, or a need to preserve detailed lineage. It is rarely the most convenient model for direct BI consumption, so teams commonly add dimensional serving models on top.

Cloud warehouse and lakehouse hybrids

Cloud designs may keep raw or infrequently accessed data in object storage and publish curated data through a warehouse or lakehouse engine. Some platforms separate storage and compute so workloads can scale independently. For example, Google’s BigQuery architecture explains its separation of storage and compute.

This flexibility does not remove the need for modeling. It changes where data is stored and processed, not the need for agreed grain, dimensions, measures, ownership, and controls.

How to design a data warehouse in 10 steps

1. Prioritize analytical use cases

Choose a small first release with clear users, decisions, and measurable value. Identify the reports or products that will be replaced and the acceptance criteria for each.

2. Inventory sources and owners

Document source tables, APIs, files, event streams, update patterns, data owners, known quality issues, and change-notification processes. Sample the actual data instead of relying only on schema documentation.

3. Set service-level objectives

Define freshness, availability, recovery, query response, and load-completion targets. A dashboard needed at 8:00 a.m. requires a different pipeline from operational fraud detection.

4. Choose the architecture and platform

Evaluate integration needs, skill availability, workload isolation, regional requirements, concurrency, recovery, pricing behavior, and compatibility with the existing stack. Avoid selecting a tool solely because it leads an analyst category.

5. Declare the grain of each fact table

The grain states exactly what one row represents. Kimball Group recommends declaring it before choosing facts and dimensions in its guidance on grain in dimensional modeling.

Examples include one row per order line, one row per account per day, or one row per sensor reading. Mixing grains creates incorrect totals and joins that are difficult to detect.

6. Design dimensions, facts, and metric definitions

Identify measurable events, descriptive business entities, hierarchies, slowly changing attributes, and conformed dimensions. Define calculation rules and ownership for business metrics before encoding them in dashboards.

7. Design ingestion and transformation

Select batch, change data capture, streaming, or a combination based on actual latency requirements. Decide how pipelines will handle duplicates, deletes, late-arriving data, schema changes, retries, and historical backfills.

8. Add security and governance by design

Classify data, establish access roles, identify masking or tokenization needs, set retention rules, and capture lineage. Controls added after broad access has been granted are harder to implement and audit.

9. Test correctness, performance, and recovery

Test transformations, referential relationships, metric reconciliation, permissions, concurrent workloads, failed loads, replay, and recovery. A successful happy-path load is not production readiness.

10. Release by domain and operate the warehouse

Ship a useful slice, measure adoption and reliability, then extend the model. Assign ownership for incidents, source changes, costs, data-quality failures, and documentation. A warehouse is a running product, not a one-time migration.

Data warehouse modeling: facts, dimensions, and schemas

Data modeling converts business events and entities into structures that remain understandable as sources change. Kimball Group’s overview of fact and dimension tables provides the basic distinction: facts capture measurements, while dimensions provide the descriptive context used to filter and group them.

Fact tables

A fact table records events or periodic measurements at a declared grain. Common fact types include:

  • transaction facts, such as one order line;
  • periodic snapshots, such as one account balance per day;
  • accumulating snapshots, such as one row tracking milestones in an order lifecycle;
  • factless facts, which record that an event or relationship occurred without a numeric measure.

Measures should be classified by how they aggregate. Revenue may be additive across products and days, while a balance should not be summed across time.

Dimension tables

Dimensions describe the people, products, places, accounts, channels, and dates associated with facts. They should use stable warehouse keys where source identifiers can change or collide.

When an attribute changes, the model must define whether to overwrite it, preserve a new historical version, or keep limited prior-state fields. This is the purpose of slowly changing dimension strategies.

Star, snowflake, and galaxy schemas

SchemaStructureStrengthTradeoff
Star schemaA fact table connected to denormalized dimensionsSimple navigation and efficient BI queriesSome repeated dimension attributes
Snowflake schemaDimensions normalized into related tablesLess repetition and clearer sub-hierarchies in some domainsMore joins and a less intuitive user model
Galaxy schemaMultiple fact tables sharing conformed dimensionsSupports several related business processesRequires disciplined grain and dimension governance

Choose the simplest model that preserves correctness. Normalization is not automatically more rigorous, and denormalization is not a substitute for clear ownership or consistent definitions.

ETL vs ELT in a data warehouse

ETL transforms data before loading it into the target warehouse. ELT loads source data first and performs transformations using the target platform’s compute. Many modern architectures use both.

ETL can be appropriate when data must be filtered or protected before it reaches the analytical store, or when a specialized engine performs the transformation. ELT is useful when the target platform can process data efficiently and teams need a replayable raw layer. The choice should reflect security boundaries, data volume, latency, cost, and operational skills rather than fashion.

ETL and ELT best practices

  • Make loads idempotent. Re-running a job for the same interval should not create duplicate facts or corrupt history.
  • Preserve replayable inputs. Keep enough source data or change history to rebuild affected models after a logic error.
  • Process incrementally when it is safe. CDC and watermark-based loads reduce work, but deletes, late events, and source resets need explicit handling.
  • Validate at boundaries. Check schema, volume, uniqueness, nulls, accepted values, referential relationships, and financial reconciliation where relevant.
  • Quarantine bad records. Do not silently discard them or block every unaffected record without a recovery path.
  • Version code and schemas. Pipeline logic, model definitions, tests, and deployment configuration should be reviewable and reproducible.
  • Design backfills before they are needed. Historical reprocessing should use controlled parameters and avoid overwhelming production workloads.
  • Capture lineage. Teams should be able to trace a dashboard value through transformations to its source.
  • Monitor outcomes, not only job status. A green pipeline can still load zero rows, stale data, or incorrect totals.

Performance and cost best practices

Warehouse performance comes from matching physical design and workload management to real query patterns. The mechanism differs by platform, so universal advice such as “add indexes” is not enough.

Start with measured workloads and query plans. Then consider:

  • scanning only required columns and partitions;
  • choosing partition, clustering, distribution, or sort strategies supported by the platform;
  • using appropriate data types and compression;
  • reducing repeated expensive transformations;
  • creating aggregate tables or materialized views for stable high-demand queries;
  • isolating ingestion, BI, data science, and ad hoc workloads where contention is material;
  • setting resource limits, budgets, alerts, and ownership for costly queries;
  • archiving data that no longer needs high-performance access;
  • testing concurrency, not just single-query speed.

AWS publishes Redshift-specific design and performance practices, while Google documents BigQuery cost optimization, including controls that reflect BigQuery’s own architecture. Use vendor guidance for the selected engine rather than copying physical-design rules from a different system.

Security, privacy, and governance

Security must follow data through every copy and transformation. Protecting the final dashboard while leaving staging tables broadly accessible creates an obvious gap.

A practical control set includes:

  • least-privilege roles and regular access reviews;
  • encryption in transit and at rest, with appropriate key management;
  • masking, tokenization, or restricted views for sensitive attributes;
  • row-level and column-level controls where use cases require them;
  • separate service identities for pipelines and applications;
  • audit logs for access and administrative changes;
  • a data catalog with ownership, classification, definitions, and lineage;
  • retention and deletion procedures that account for replicas, backups, and downstream extracts;
  • tested incident response and recovery procedures.

Compliance obligations depend on the data, jurisdictions, contracts, and industry. GDPR, HIPAA, PCI DSS, and other frameworks should not be reduced to a feature checklist. Security, privacy, and legal specialists should validate the architecture and operating procedures that apply to the organization.

Data warehouse best practices that hold across platforms

The most durable practices are organizational as much as technical.

  1. Give every critical dataset an owner. Someone must approve definitions and resolve quality issues.
  2. Keep business logic out of isolated dashboards. Shared calculations belong in governed transformations or a semantic layer.
  3. Treat source changes as expected events. Establish contracts, schema monitoring, and communication paths.
  4. Prefer small, testable releases. A working sales model is more useful than an enterprise model that remains unfinished.
  5. Separate raw history from business-ready models. This makes investigation and reprocessing safer.
  6. Document grain and metric semantics next to the model. Column names alone do not explain meaning.
  7. Build for failure and replay. Retries, backfills, duplicate events, and partial source availability are normal conditions.
  8. Measure data reliability. Track freshness, completeness, accuracy, incidents, and recovery time.
  9. Review cost with performance. A query that becomes twice as fast at ten times the cost may not be an improvement.
  10. Retire obsolete assets. Duplicate tables and dashboards undermine trust and increase operating cost.

Common data warehouse design mistakes

Copying source systems without a business model

Replicated source tables can help with ingestion, but they do not create shared definitions or an analyst-friendly warehouse.

Mixing grains in one fact table

Combining order-level and line-level measures produces double counting and fragile queries. Declare and test the grain.

Pursuing real-time data without a real-time decision

Streaming adds operational complexity. If a process changes once a day, a reliable hourly or nightly load may provide more value.

Hiding transformations inside BI reports

When every report implements its own joins and calculations, metrics drift and testing becomes difficult. Reusable logic belongs upstream.

Applying tuning advice from the wrong platform

Indexes, distribution keys, clustering, caching, and materialization behave differently across engines. Optimize against the selected platform and observed workload.

Launching without ownership

Pipelines, definitions, access requests, and incidents need named owners. Otherwise the warehouse deteriorates even when its initial design was sound.

When should you redesign or modernize a data warehouse?

A redesign is worth considering when teams cannot reconcile core metrics, pipelines miss required freshness, query costs grow without corresponding use, source changes repeatedly break reports, security controls are inconsistent, or the platform prevents new analytical workloads.

Modernization does not always mean replacing everything. It may involve separating storage and compute, redesigning a few high-value models, introducing a semantic layer, improving orchestration and observability, or moving selected workloads to a new platform.

Multishoring’s data warehouse consulting services cover architecture, migration, modeling, pipeline development, performance, and BI integration. For a broader review of the data ecosystem, see modern data architecture services and data quality consulting.

Frequently asked questions

What are the three layers of data warehouse architecture?

In the classic three-tier model, the bottom tier handles sources, integration, and storage; the middle tier provides analytical or semantic processing; and the top tier serves reports, BI tools, and users. Modern cloud products may combine several logical tiers within one managed service.

What is the best schema for a data warehouse?

A star schema is often the simplest choice for BI because it connects fact tables directly to descriptive dimensions. Snowflake and galaxy schemas can be appropriate when dimensions have reusable substructures or several business processes share conformed dimensions. Correct grain and definitions matter more than the label.

What is the difference between ETL and ELT?

ETL transforms data before it is loaded into the target warehouse. ELT loads data first and transforms it using the target platform. Many production systems combine both based on security, latency, scale, and replay requirements.

How long does it take to design a data warehouse?

There is no reliable duration without scope. A focused warehouse slice for one domain can be designed and released incrementally, while an enterprise program with many sources, historical migrations, and regulated data takes longer. Estimate architecture, source analysis, modeling, pipeline work, validation, security, migration, and user acceptance separately.

Is a data warehouse still needed if a company has a data lake?

Often, yes. A data lake can retain raw and diverse data, but business users still need governed models, consistent metrics, security controls, and predictable query performance. Those capabilities may be delivered by a separate warehouse, a lakehouse, or a warehouse engine over object storage.

Final takeaway

Good data warehouse design starts with business decisions and ends with a system that can be operated safely. Architecture, modeling, pipelines, performance, governance, and ownership are parts of one design problem. If any one of them is postponed, the cost usually appears later as conflicting metrics, failed loads, slow reports, uncontrolled access, or an expensive rebuild.

contact

Thank you for your interest in Multishoring.

We’d like to ask you a few questions to better understand your IT needs.

Justyna PMO Manager

    * - fields are mandatory

    Signed, sealed, delivered!

    Await our messenger pigeon with possible dates for the meet-up.

    Justyna PMO Manager

    Let me be your single point of contact and lead you through the cooperation process.