Articles

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.

The Lycoris Team The Lycoris Team · · 4 min read
Abstract visualization of connected database structures

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 lakeData warehouseData lakehouse
Storage formatRaw files, any formatProprietary, structuredOpen files (Parquet/ORC)
SchemaNone enforcedStrict, enforcedEnforced, with evolution
TransactionsNoneACIDACID
CostLowHigherLow, close to lake pricing
Best forCheap raw storage, ML dataCurated BI queriesBoth, 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.

The Lycoris Team 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.

#Databases #Data Engineering #Backend
The Lycoris Team 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.

#Databases #Data Engineering #Backend
Chisato 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.

#Databases #Data Engineering #Backend