A data warehouse is a neat store for clean, organised data used in reports. A data lake is a big, cheap store where you dump data in any form. A data lakehouse is a lake with warehouse-like order added on top, so one store works for both reports and machine learning.
Why should a beginner care about this?
Every company that works with data must decide where to keep it, and that choice shapes speed, cost and trust. The answer decides how fast your reports run, how much the company pays for storage, and whether a data scientist can find the data they need.
If you are learning data analytics or data engineering, the words warehouse, lake and lakehouse will come up in almost every interview and project. The good news is that the three ideas are simple once you picture them. Let us start with a picture.
What is the easiest way to understand the three?
Think of three ways to store goods in a city: a supermarket, a godown, and a godown with a manager. Everything below is the technical version of this picture.
What is a data warehouse?
A data warehouse is a database built for reports and analysis, and it stores structured data in neat rows and columns. Think of a table of orders with columns for date, customer, product and amount.
Before data enters a warehouse, it is cleaned and arranged into a fixed shape. This is called schema-on-write. “Schema” just means the planned structure of the tables. “On write” means the structure is checked when the data is saved. If a row does not fit, it is fixed or rejected. This is why companies trust warehouses for finance and management reports: the numbers are consistent.
Warehouse tables are usually arranged as a star, with one central table of facts and several tables around it that describe the facts. You can read how this works in our guide to Star Schema vs Snowflake Schema. Popular cloud warehouses include Snowflake, Google BigQuery and Amazon Redshift. (The product called Snowflake is a different thing from the snowflake schema design.)
Fast reports, trusted numbers, and easy for analysts who use SQL.
Very large raw data, because it gets costly. Also data that is not in tables, such as images, audio and free text.
What is a data lake?
A data lake is a very large, low-cost store where you keep data exactly as it arrives. It can hold tables, JSON files, log files, images, videos and PDFs.
Data lakes usually sit on cloud object storage. This is simply cheap online storage that keeps files, such as Amazon S3, Azure Data Lake Storage or Google Cloud Storage.
Here you do not fix the structure when you save the data. You decide the structure only when you read it. This is called schema-on-read. Saving is quick and easy, and data scientists like this because they get the raw data without anyone having removed details they might need.
Very cheap storage, any type of data, and machine learning work.
Safety and order. Two people writing to the same file at the same time can damage it, and nothing checks data quality. If nobody manages it, the lake becomes a data swamp, where nobody knows which files are correct or up to date.
What is a data lakehouse?
A data lakehouse keeps your data in a cheap lake and adds a smart layer on top that gives it warehouse-style discipline.
That layer is called a table format. The common ones are Delta Lake, Apache Iceberg and Apache Hudi. Think of the table format as the manager of the godown. It keeps a record of which files belong to which table, so a pile of files behaves like a proper table.
With this layer you get things a plain lake cannot give:
- Safe writes. This property is called ACID. In simple words, an update either completes fully or does not happen at all, and nobody sees half-finished data.
- Rules on structure. The table can refuse data that does not match the expected columns.
- Time travel. You can look at the table as it was yesterday or last week, which helps when something goes wrong.
- Fast SQL on data that sits in cheap storage.
The idea was described in a well-known 2021 research paper, “Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics”, by Armbrust, Ghodsi, Xin and Zaharia.
Here is a small example, only to show that it still feels like normal SQL. You do not need to memorise it.
-- Add new rows and update changed rows in one safe step
MERGE INTO sales_gold AS t
USING sales_updates AS s
ON t.order_id = s.order_id
WHEN MATCHED THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *;
-- See the table as it was at version 12
SELECT * FROM sales_gold VERSION AS OF 12;One copy of data for both reports and machine learning, low storage cost, and open file formats.
It has more parts to set up and look after, and the team needs the skills to do it.
How do the three compare side by side?
The warehouse is neat and costly, the lake is cheap and loose, and the lakehouse tries to give you both.
| Question | Data warehouse | Data lake | Data lakehouse |
|---|---|---|---|
| What does it store? | Neat tables | Any file | Any file |
| When is the structure set? | When saving | When reading | Either, with rules available |
| Is writing safe (ACID)? | Yes | No | Yes |
| Storage cost | Higher | Lowest | Low |
| Who uses it? | Analysts | Data scientists | Analysts and data scientists |
| Best for | Reports and dashboards | Raw data and ML | Reports and ML together |
| Main risk | Costly and rigid | Turns into a swamp | Needs skilled setup |
The lines between the three are blurring. Some cloud warehouses can now read open table formats such as Iceberg, and some lakehouse tools offer warehouse-style SQL. Treat these as three ideas for organising data, not three products you must pick between.
What is the medallion pattern, and where do my tables go?
The medallion pattern organises a lakehouse into three layers called bronze, silver and gold.
- Bronze: raw data, exactly as it arrived.
- Silver: cleaned data, with duplicates removed and tables joined.
- Gold: business-ready tables, often star schemas, that dashboards read from.
So even in a lakehouse, you still design proper tables for reporting. The lakehouse changes where the data lives, not the need for good table design.
How does this connect to ETL, ELT and pipelines?
The storage you choose sits in the middle of your data pipeline, between the jobs that bring data in and the jobs that serve it.
- Moving the data in. Warehouses and lakehouses both work well with ELT, where you load raw data first and clean it inside the platform. Read ETL vs ELT in 2026 to see how this differs from ETL.
- Running the jobs. Something must run the loading and cleaning jobs on a schedule. That is the job of a tool like Apache Airflow. See building scalable data pipelines with Apache Airflow and Python.
Which one should you choose?
Choose by asking three questions in order: what work do we need to do, who will do it, and how much data do we have?
| If this sounds like you | Start with |
|---|---|
| Mostly SQL reports on neat business data, small team | Data warehouse |
| Lots of raw logs, images or text, mainly data science | Data lake, with proper rules from day one |
| You need reports and machine learning on the same data | Data lakehouse |
| You already have a lake and a warehouse with the same data in both, and the numbers do not match | Move towards a lakehouse step by step |
| You want to avoid being tied to one vendor’s file format | Lakehouse with an open table format |
If your data is neat and your users only need reports, start with a warehouse. Add a lake or lakehouse when a real need for raw data or machine learning appears, not before.
Worked example: a retailer picks a platform
This example uses assumed numbers. It is not a real client or an Ivy cohort story.
For this retailer, a lakehouse fits best, because most of its data is raw click data and it has both analysts and data scientists. Here is the situation:
- 50 GB of neat data every day from billing, stock and shop counters.
- 400 GB of app click data every day, saved as JSON files.
- 12 analysts who work in SQL and dashboards.
- 3 data scientists who build models for recommendations and demand forecasting.
Let us do the sums. Daily data is 50 + 400 = 450 GB. In 30 days that is 13.5 TB. In a year it is about 162 TB. Out of every 450 GB, 400 GB is click data, which is about 89 percent.
Only a warehouse
The company would pay warehouse prices to store 162 TB a year, and most of it is click data that analysts rarely open.
Only a lake
Storage is cheap, but the 12 analysts would have no trusted tables to build dashboards on.
A lakehouse
Click data lands in bronze. Silver cleans it. The 50 GB of business data becomes star-schema tables in gold, and analysts use these. Data scientists read silver for their models. There is one copy of the data and one set of access rules.
If the same company had only the 50 GB of neat data and no data scientists, a simple warehouse would be the better choice.
When should you not use a data lakehouse?
You may not need a lakehouse. It brings extra work, and it pays off only if you have the right problems.
- Your data is small and neat. If it all fits in one warehouse and everyone uses SQL, a warehouse is simpler and cheaper.
- You do not do machine learning and have no images, audio or free text. The big benefit of a lakehouse is serving reports and ML from one copy. Without ML, that benefit mostly goes away.
- You do not have data engineers. Lakehouse tables need regular care, such as combining many tiny files into bigger ones and managing access. Without skilled people this becomes painful.
- You have no rules for ownership and quality. Open storage lets anyone put data anywhere. Without rules, you build a swamp again with newer tools.
- You are moving only because it is popular. Switching a working warehouse needs a reason you can show in numbers. “Everyone is doing it” is not a reason.
What should you do next?
Write down your needs, try one small project, and fix your rules early. It takes an afternoon and uses your own work, which is the point.
- Step 1. Write down your needs. List every report, dashboard and model you need, with the type of data, how much arrives daily, and who uses it.
- Step 2. Try one small project. Take one real dataset and build bronze, silver and gold tables on the platform you are considering. Note the query speed, the cost and the effort.
- Step 3. Decide the rules early. Fix who owns each table, how tables are named, who can access them, and what quality checks run, before you load the second dataset.
- Read next. Star Schema vs Snowflake Schema shows how to design the gold-layer tables you will build in step 2.
Frequently asked questions
Is a lakehouse going to replace the data warehouse?
Not completely. Both exist today and they are moving closer. Many companies use a warehouse for finance reports and a lakehouse for data science, and some use only one.
What is the difference between a data lake and a data lakehouse?
A lake stores raw files with no safety checks and no fixed structure. A lakehouse adds a table format such as Delta Lake, Iceberg or Hudi on the same kind of storage, which gives safe writes, rules on structure and time travel.
Do I still need to learn star schema?
Yes. The gold layer of a lakehouse usually has star-schema tables because dashboards and analysts work best with them. It is a core skill for any data role.
Which is cheaper, a warehouse or a lakehouse?
Storage is cheaper in a lakehouse. Total cost also depends on computing charges and the time your team spends, so test with a small project instead of assuming.
Should I learn Delta Lake, Iceberg or Hudi first?
Start with the idea of a table format and learn one tool well. Pick the one your target employers or your cloud platform use most, and check its current documentation, because support changes between releases.
Sources
- Armbrust, M., Ghodsi, A., Xin, R., Zaharia, M. (2021). Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics. CIDR 2021. cidrdb.org
- Armbrust, M. et al. (2020). Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores. Proceedings of the VLDB Endowment, Vol. 13.
- Delta Lake documentation: docs.delta.io
- Apache Iceberg documentation: iceberg.apache.org
- Apache Hudi documentation: hudi.apache.org
Related articles
- Star Schema vs Snowflake Schema: Differences, Use Cases, SQL Examples, and Choosing the Right Data Warehouse Model
- What is the difference between ETL vs ELT in 2026
- Building Scalable Data Pipelines with Apache Airflow and Python
Build practical data engineering skills, from data storage and modeling to production pipelines.

By