Data Lakehouse Explained: What It Is and How It Works
A data lakehouse combines a data lake's cheap object storage with a data warehouse's transactional guarantees and schema. How the architecture works.
A data lakehouse is a storage architecture that combines the low-cost, schema-flexible storage of a data lake with the transactional consistency, schema enforcement, and query performance of a data warehouse. Instead of maintaining separate systems — a lake for raw data and a warehouse for curated analytics — a lakehouse layers warehouse-like guarantees directly on top of files sitting in object storage.
Why two systems existed in the first place
Before the lakehouse pattern, most organizations ran two parallel systems. A data lake stored raw data cheaply in object storage — logs, JSON, Parquet files, images — with no enforced schema. It was flexible and cheap, but it was also easy to end up with a “data swamp”: unreliable, unqueryable, and full of duplicate or corrupted files with no transactional guarantees.
A data warehouse, by contrast, stored structured, curated data in a proprietary format optimized for analytics — think a columnar store with strict schemas and ACID guarantees. Warehouses are reliable and fast for OLAP-style queries, but ingesting new data required an ETL step to reshape it into the warehouse’s schema first, and storage costs were much higher than raw object storage.
Most companies ran both: a lake for raw and semi-structured data, a warehouse for the polished, query-ready copy. That meant duplicated storage, duplicated pipelines, and data that could drift out of sync between the two.
What the lakehouse adds
A lakehouse keeps data in open file formats (Parquet or ORC) sitting in ordinary object storage, but adds a transactional metadata layer on top — track table versions, enforce schema, and support ACID writes even though the underlying files are just immutable objects in a bucket. This metadata layer is what turns a folder of files into something a query engine can treat like a table.
That layer typically provides:
- ACID transactions on top of files that are individually immutable — concurrent writers don’t corrupt each other’s data.
- Schema enforcement and evolution — reject writes that violate the schema, and support adding or renaming columns without rewriting the whole dataset.
- Time travel — query a table as it existed at a previous version, since old versions of files aren’t deleted immediately.
- Support for BI and ML workloads from the same copy of the data — you no longer need a separate warehouse for dashboards and a separate lake for model training.
Under the hood, this metadata layer is usually implemented as a set of manifest and log files that a query engine reads before deciding which underlying Parquet files to scan — the same idea as a write-ahead log applied to a table’s file layout rather than a database’s rows.
How it fits with the rest of the data stack
A lakehouse doesn’t replace change data capture pipelines or ingestion tools — it’s the destination those pipelines write to. Streaming platforms feed raw events in, batch jobs curate and compact tables, and BI tools query the result directly rather than through a separately maintained warehouse copy. Because the storage format is open (usually Parquet), you’re not locked into a single vendor’s query engine the way you would be with a proprietary warehouse format — multiple engines can read the same tables.
Lakehouses also support materialized views on top of raw tables, precomputing expensive aggregations so dashboards don’t have to scan the full history on every query.
Lakehouse vs data warehouse vs data lake
| Data lake | Data warehouse | Data lakehouse | |
|---|---|---|---|
| Storage format | Raw files, any format | Proprietary, structured | Open files (Parquet/ORC) |
| Schema | None enforced | Strict, enforced | Enforced, with evolution |
| Transactions | None | ACID | ACID |
| Cost | Low | Higher | Low, close to lake pricing |
| Best for | Cheap raw storage, ML data | Curated BI queries | Both, from one copy |
Where it doesn’t help
A lakehouse is not a drop-in replacement for a transactional database handling live application traffic — it’s built for analytical workloads, not high-frequency single-row reads and writes. It also doesn’t eliminate the need for good data modeling; a poorly organized lakehouse can still end up as a swamp with better paperwork. The value comes from having one reliable, queryable copy of your data instead of several copies drifting apart across a lake and a warehouse — not from any inherent magic in the storage format.
The takeaway
A data lakehouse layers ACID transactions, schema enforcement, and time travel on top of data sitting in ordinary object storage, closing the gap between the flexibility of a data lake and the reliability of a data warehouse. The result is one copy of your data that both BI dashboards and machine learning pipelines can query directly, without a separate ETL step to shuttle data between two systems that used to serve those two audiences separately.
Tagged
Keep reading
The Lycoris Team · · 4 min read Data Warehouse vs Data Lake: What's the Difference?
A data warehouse stores structured, pre-modeled data optimized for queries; a data lake stores raw data of any shape. When each one fits.
The Lycoris Team · · 4 min read Star Schema vs Snowflake Schema: Which to Use
Star schema denormalizes dimensions into flat tables for fast queries; snowflake schema normalizes them to save space. How to choose for your warehouse.
Chisato · · 4 min read Time-Series Databases Explained
A time-series database is optimized for timestamped data — metrics, sensor readings, prices. How it differs from general-purpose databases.