04

Data Engineer · Step 4 of 8 · 8 min

Warehouses, lakes and lakehouses

Know where data lives, what each kind of storage is good at, and the words employers use.

The data warehouse

A warehouse is a database built for analysis. It stores structured tables and runs large queries fast because it stores data by column rather than by row. Common cloud warehouses are Snowflake, Google BigQuery, Amazon Redshift and Azure Synapse or Microsoft Fabric.

You pay for storage and for compute. A badly written query over a huge table can cost real money, so learn to filter on partitions and select only the columns you need.

The data lake

A lake is cheap object storage, such as Amazon S3, Azure Data Lake Storage or Google Cloud Storage, holding files of any kind. Analytical data in lakes is often stored as Parquet, a column-based file format.

Lakes are flexible and cheap, but plain files have no transactions or schema rules. Without care, a lake turns into a swamp: lots of files nobody trusts.

The lakehouse

A lakehouse adds warehouse features on top of lake files using an open table format. The main ones are Apache Iceberg, Delta Lake and Apache Hudi. They add transactions, schema changes and time travel, which means querying a table as it was yesterday.

In 2026 the big platforms all support at least one of these formats, and Iceberg in particular is read by many engines. That means your data is less locked into one vendor.

Layers inside the store

Most teams organise data in layers: raw data as it arrived, cleaned and joined data, and business-ready tables. Some call these bronze, silver and gold. The names matter less than the rule: never edit the raw layer, so you can always rebuild the rest.

Try it

Query a Parquet file for free

  1. 1.Open shell.duckdb.org again.
  2. 2.Ask a chatbot for a public Parquet file URL you can query, or use one from the DuckDB documentation examples.
  3. 3.Run SELECT * FROM 'the-url' LIMIT 10, then a GROUP BY query.
  4. 4.Notice that you queried a file directly, with no database to set up. That is the lake idea in miniature.
What does an open table format such as Apache Iceberg add to files in a data lake?

Check yourself

What does an open table format such as Apache Iceberg add to files in a data lake?