Data warehouse, data lake or lakehouse: which one do you actually need?
Three storage architectures, one decision. What actually separates a warehouse from a lake from a lakehouse, the questions that pick between them, and the data swamp trap that eats unowned lakes.
Get the free PDF
One page, print-ready, free to share. No signup needed.
"Just put everything in the lake," someone says in the meeting. Six months later an analyst asks how to query it, and the room goes quiet. Storage architecture is a decision with a wrong answer, and the wrong answer is picked by default more than by mistake.
One difference drives all the others
When does the schema get applied?
A warehouse applies it on write: data is modeled before it lands, which is why queries are fast and every column means something. A lake applies it on read: files land raw, and each consumer imposes structure when they read. Everything else in the comparison falls out of that one choice:
| warehouse | lake | lakehouse | |
|---|---|---|---|
| schema | on write | on read | on read + enforced |
| data | structured | anything | anything |
| SQL speed | fast | slow, varied | fast |
| storage cost | high | low | low |
| main user | analysts | data scientists | both |
Pick by the questions your team asks
- "Why is the Monday dashboard slow?" Structured data, BI, repeated SQL: a warehouse. Snowflake, BigQuery, Redshift.
- "Where do we keep the raw events and images for the models?" Cheap, schemaless, high volume: a lake. S3 or ADLS with Parquet.
- "Why do we maintain two copies of everything?" BI and ML on one platform: a lakehouse. Delta Lake, Iceberg or Hudi give ACID transactions on files.
- "We are five people with 40 GB." Postgres. Seriously. It will hold for years, and the day it does not, the migration is a good problem to have.
The swamp
The failure mode of the lake is not technical. Files land, nothing is cataloged, nobody owns anything, and within a year the lake is a folder called final_v2 the size of a company. The tell is social: people stop trusting numbers that come out of it, then stop asking.
The fix costs a week at the start and is nearly impossible to retrofit: a catalog, a named owner per dataset, and schema checks at the door. A lake with contracts is infrastructure. A lake without them is a swamp with a roadmap.
The takeaway
Schema timing is the real decision: on write for trusted BI, on read for raw scale, both at once if you genuinely need both and can pay the platform complexity. And below ~100 GB, the honest answer is a boring Postgres. The print-ready PDF above has the grid, the table and the swamp checklist on one page.
Frequently asked questions
What is the difference between a data warehouse and a data lake?
What is a lakehouse in simple terms?
What is a data swamp and how do you avoid one?
Do small teams need a data warehouse at all?
Get the free PDF
One page, print-ready, free to share. No signup needed.