+50 XP

Data warehouse, lake & lakehouse: choosing the right architecture

Every CDO has faced this question: "What should our data architecture look like?"

The answer has evolved dramatically over the last decade. The monolithic data warehouse, once the gold standard, is now just one option among many. To make the right architectural choices, you need to understand what's available, what trade-offs each option carries, and how to match architecture to business need.

The data architecture landscape

The modern data stack has layered complexity on top of simplicity. Here's what exists today:

Data warehouse: Structured, SQL-queryable storage optimized for analytics. Examples: Snowflake, BigQuery, Redshift. Best for: business intelligence, dashboards, structured reporting.

Data lake: Raw storage at scale, structured, semi-structured, and unstructured data. Examples: AWS S3, Azure Data Lake, GCS. Best for: storing everything, enabling future use cases.

Data lakehouse: The hybrid that emerged from the friction between lakes and warehouses. ACID transactions, schema enforcement, and SQL queries on lake storage. Examples: Databricks Delta Lake, Apache Iceberg, Apache Hudi.

Data mesh: Not a technology, an organizational and architectural paradigm. Data ownership distributed to domain teams. Each domain produces data products. Federated governance. More on this in Module 3.2.

Data fabric: An architecture layer that connects disparate data sources through metadata and automated integration. Less about storage, more about connectivity and discovery.

Modern Data Stack Explained

Watch on YouTube

Knowledge check

1. What fundamentally distinguishes a data lakehouse from a traditional data lake?

2. A retail company's primary need is fast, reliable BI dashboards with SLA commitments to business stakeholders, and their data is well-structured with a SQL-native team. Which architecture fits best?

3. Why is a data mesh described as fundamentally different from a warehouse, lake, or lakehouse?

MULTIPLE CHOICE

4. Select ALL scenarios where choosing a data lake is the most appropriate decision.

Select all the correct answers.

MULTIPLE CHOICE

5. Select ALL statements that correctly describe when a lakehouse is the right architectural choice.

Select all the correct answers.

Warehouse vs. lake vs. lakehouse

The warehouse-lake-lakehouse debate is still active in every data team. Here's how to think about it:

Choose a data warehouse when: Your primary use case is BI and reporting, your data is structured, your team is SQL-native, and you need guaranteed query performance with SLA commitments to business stakeholders.

Choose a data lake when: You have massive unstructured data (logs, clickstreams, images, documents), you want to preserve raw data for future ML use cases, or storage cost is a primary concern.

Choose a lakehouse when: You want the flexibility of a lake with the reliability of a warehouse. You're a data-intensive organization doing both ML and BI. You can't afford to maintain two separate systems. This is increasingly the default for data-mature organizations.

The emergence of the lakehouse

The lakehouse pattern emerged from a specific pain: organizations built data lakes, discovered they were unusable swamps of unstructured data, and needed warehouse-like reliability without abandoning their lake investments.

Delta Lake (Databricks), Apache Iceberg, and Apache Hudi solved this by adding ACID transactions, schema evolution, and time-travel capabilities to object storage. The result: lake storage costs with warehouse query reliability.

Netflix migrated their entire data infrastructure to Apache Iceberg. They manage hundreds of petabytes of data with schema evolution, rollback capability, and concurrent read-write support, capabilities previously only available in expensive proprietary warehouses.

Architectural decision framework

When evaluating architecture options, ask four questions:

  • Workload type: Is this BI, ML, streaming, or all three? Different workloads favor different architectures.
  • Team skills: SQL-native teams lean toward warehouses; Python-native teams lean toward lakes.
  • Data volume and variety: High volume + high variety = lake or lakehouse. Structured data at moderate volume = warehouse.
  • Vendor lock-in tolerance: Cloud-native warehouses (Snowflake, BigQuery) offer ease of use at the cost of portability. Open formats (Iceberg, Delta) maximize portability.

There is no universally correct answer. A well-reasoned architecture that matches your actual workloads beats a sophisticated architecture that your team can't operate.

Quiz Questions

  1. Quelle est la principale différence entre un data lake et un data lakehouse ?

A) Le lakehouse est plus cher

B) Le lakehouse ajoute des transactions ACID et la fiabilité d'un warehouse sur un stockage de type lake

C) Le lakehouse ne supporte pas le SQL

D) Le lakehouse est uniquement pour les données non structurées

Réponse: B

  1. Quelle architecture choisir en priorité pour une équipe BI SQL-native avec des données structurées ?

A) Data lake

B) Data mesh

C) Data warehouse

D) Data fabric

Réponse: C

  1. Quel projet open source a permis à Netflix de gérer des centaines de pétaoctets avec des capacités ACID ?

A) Apache Kafka

B) Apache Hudi

C) Apache Iceberg

D) Delta Lake

Réponse: C

What to do, from this lesson

These actions are compiled in the role's Playbook.

  • Choose architecture using workload, team skills, volume, and lock-in tolerance
See the full action playbook →

Related articles

Recent articles from the blog that build on this lesson.