Skip to main content
Data Platform

What Is a Data Lakehouse? A Practitioner’s Definition

Most mid-market industrial businesses already run two data estates that disagree with each other: a file store holding telemetry, PDFs and extracts nobody fully trusts, and a warehouse holding the numbers finance signs off — into which nobody will load ten years of tag history because of what it would cost. A lakehouse collapses those two tiers. This defines the thing precisely, without the marketing.

Amit Kumar Singh - Technology Consulting Partner at MyData Insights

Technology Consulting Partner · MyData Insights

14+ years in industrial data · Former Accenture & EY · India, GCC, SEA

18 August 2026 · 14 min read

The bottom line

A data lakehouse is low-cost object storage holding open table formats — Delta Lake or Apache Iceberg — with a transaction log that gives those files ACID guarantees, schema enforcement and time travel, queried directly by multiple engines without copying the data out. Four components must be present: object storage, an open table format, a transaction log, and a catalogue with multiple engines. It resolves the historical split between a cheap-but-untrustworthy data lake and a trustworthy-but-expensive warehouse by adding database behaviour to the cheap tier instead of copying data up into the expensive one. It is not automatically cheaper (storage falls, compute does not), does not fix data quality (ACID guarantees a write happened, not that the number was right), and time travel is bounded by retention. You need one when you have operationally valuable data too large for a warehouse, more than one consuming engine, or recurring manual reconciliation.

The idea is narrow, and the rest is packaging

A data lakehouse is low-cost object storage holding open table formats — Delta Lake or Apache Iceberg — with a transaction log that gives those files ACID guarantees, schema enforcement and time travel, queried directly by multiple engines without copying the data out. That is the whole idea.

The reason it matters operationally is narrow and specific. When your maintenance history, your production counts and your invoice lines sit in the same governed storage layer at the same grain, the question "which line's downtime is actually costing us OTIF" has one answer rather than three. When they sit in three systems with three refresh cycles, it has three answers and a meeting.

What is a data lakehouse, precisely?

A data lakehouse is a data architecture in which analytical tables are stored as open-format files in cheap cloud object storage, and a transaction log alongside those files supplies database behaviour — ACID transactions, schema enforcement, versioning and time travel. Multiple query engines read and write the same physical tables, so the data is not copied per tool. Four components have to be present; if one is missing, it is not a lakehouse.

ComponentWhat it isExamples
Object storageCheap, effectively unlimited storage billed per GB not per compute-hourADLS Gen2, Amazon S3, Google Cloud Storage, OneLake
Open table formatTurns a folder of Parquet files into a table with schema, version history and commit protocolDelta Lake, Apache Iceberg
Transaction log / metadataAn ordered record of every commit — what supplies ACID and time travel_delta_log JSON commits; Iceberg metadata and manifests
Catalogue and multiple enginesA registry of tables plus more than one engine reading them in placeUnity Catalog, Glue, OneLake catalogue; Spark, Trino, T-SQL, DuckDB

The term was formalised in a 2021 CIDR paper arguing the two-tier lake-plus-warehouse pattern was structurally wasteful.

What problem does a data lakehouse actually solve?

For about a decade the standard architecture had two tiers. Tier one was a data lake: raw files on cheap storage, holding everything, with no transactions — if a Spark job failed halfway through writing a partition, you had half a partition and no way to know, and a source system changing a column type silently poisoned every downstream read. That is how a data lake becomes a swamp.

Tier two was a warehouse: a subset of that data, loaded through ETL, with proper transactions and governance, serving finance and BI. It worked. It also meant the interesting data — sensor histories, weighbridge logs, telematics, quality inspection images — mostly never got loaded, because warehouse storage and ETL could not be justified for data that might be useful. So you paid twice, and the two tiers drifted. The lakehouse collapses the tiers by adding the missing database behaviour to the cheap tier instead of copying data up into the expensive one.

How does a transaction log give ACID guarantees on object storage?

A transaction log is an ordered set of small metadata files stored next to the data files. Each commit records which files were added and removed. A reader loads the log first and only sees files listed in a committed version, so a half-finished write is invisible. Object storage cannot lock a folder — S3 and ADLS Gen2 do not offer "no one else touches this table while I update it" — which is why plain Parquet folders have no transactions.

Delta Lake never treats the folder listing as the table. The table is defined by the _delta_log directory: numbered JSON files each recording the files added and removed by one operation. The consequences follow directly. Atomicity — new Parquet files are written first, and only then is a single commit appended; if the job dies mid-write, no commit exists, so orphaned files are not part of the table. Isolation — readers pin to a version, so they never see inconsistent data. Concurrency — writers use optimistic concurrency, not locks. Time travel — reading yesterday's version means reading yesterday's file list. Schema enforcement — a write with an incompatible schema is rejected at commit, not discovered three weeks later in a dashboard.

A business-reader analogy that holds: the data files are stock in the warehouse, and the transaction log is the goods-receipt ledger. Stock that has not been booked in does not exist for counting, no matter that it is physically on the floor. Reversing the ledger to a prior date tells you exactly what you held that day.

Apache Iceberg reaches the same guarantees through a different structure — metadata files, manifest lists and snapshots. The engineering differs; the commercial effect is identical: ACID, snapshot isolation, schema evolution and time travel over files you own.

Lakehouse, data lake and data warehouse — the definitional difference

Data lakeData warehouseData lakehouse
StorageObject storage, filesProprietary, engine-managedObject storage, files
Table formatNone — folders of Parquet/CSVInternal to the vendorOpen: Delta Lake or Iceberg
TransactionsNoneFull ACIDACID via the transaction log
SchemaOn read, unenforcedEnforced on writeEnforced on write, with evolution
EnginesMany, unsafely for writesUsually oneMany, reading/writing same tables
Time travelNoVendor-dependent, often limitedYes, bounded by retention
Who governs itNobody, usuallyThe warehouse teamRequires an explicit owner

The row that matters most is table format. A lakehouse is a data lake with a table format bolted on — not a diminishment; that one addition is what changes the estate from unreliable to auditable.

What does "open format" mean commercially?

Open format means the storage layer is specified publicly and readable by engines from competing vendors, so the compute vendor does not own the data. If you stop paying that vendor, the Parquet files and the transaction log remain in your own storage account, readable by another engine. Two clarifications, because buyers get this wrong in both directions.

First, it is real. Snowflake's Iceberg tables can store data in an external volume in your own S3, GCS or Azure account. OneLake is built on ADLS Gen2 and stores tables in Delta Parquet or Iceberg, two open standards any tool can read. Amazon S3 Tables are managed Iceberg tables queryable from Athena, Redshift, Spark, Trino, Snowflake and DuckDB. Second, it is partial: your pipelines, orchestration, semantic models, RLS definitions and notebooks are not portable. Migrating a live estate between platforms is still a project measured in months, even when not a single byte of table data has to move. Open format lowers the exit cost materially — it does not make it zero, and any vendor implying otherwise is selling.

How does this appear in the Microsoft stack, and elsewhere?

In Microsoft Fabric, the lakehouse is OneLake — storage built on ADLS Gen2 that stores tables as Delta Parquet by default, with Power BI reading those tables through Direct Lake, and shortcuts referencing data held in other clouds without copying it. Two features are what a buyer is actually paying for: Direct Lake, a Power BI storage mode that loads from Delta tables in OneLake where refresh copies only metadata (framing) rather than replicating data, so there is no overnight refresh window to protect; and shortcuts plus metadata virtualisation, where a shortcut references data elsewhere and OneLake generates virtual Delta metadata for Iceberg tables and vice versa.

Elsewhere the shape is identical and the components differ: Databricks pairs Delta Lake with Unity Catalog; Snowflake pairs Iceberg tables with external or managed volumes; AWS pairs S3 Tables with the Glue Data Catalog and automatic compaction.

Who genuinely needs a lakehouse, and who does not

You probably need one if three or more are true:

  • You have data operationally valuable but too large or unstructured for your warehouse — MES/SCADA tag history, telematics, images, inspection logs
  • You have more than one consuming engine: BI plus a data science team, or BI plus an application needing the same tables
  • You run the same reconciliation between two systems every month, by hand
  • You need audit-grade answers to "what did this table contain on this date"
  • You have four or more source systems feeding analytics

You probably do not need one if your entire analytical estate is one ERP and a finance dashboard, your total data volume is under a few hundred gigabytes, and nobody is asking for machine learning. A well-modelled warehouse, or even a properly built Power BI semantic model over a SQL database, will serve you better, cost less and need far less skill to run. Building a lakehouse for an estate that small is buying complexity you then have to staff.

Where this breaks: what a lakehouse does not fix

It is not automatically cheaper — storage gets cheaper; compute usually does not. The saving comes from removing a duplicate tier, not from the architecture itself; estates that add a lakehouse alongside an untouched warehouse pay for both. It does not fix data quality — ACID guarantees a write either fully happened or did not, and says nothing about whether the number was right. A duplicated customer master or a production count logged by an operator who was guessing commits perfectly.

Time travel is bounded, and shorter than people assume — Delta's default VACUUM retention is seven days, after which older versions are unrecoverable; seven years of auditable history is a deliberate retention design and a storage cost, not a default. Small files and maintenance are real operational work — frequent small writes produce thousands of small Parquet files, and compaction, V-Order and vacuum need scheduling. And serving has guardrails you must design against — Direct Lake limits vary by SKU (F2–F8 caps a table at 300 million rows; F64 raises it to 1,500 million), and Direct Lake on SQL falls back to DirectQuery against a SQL view or with SQL-based access control. Discovering this after go-live is the usual cause of "the report got slow".

What to do first

Before anyone draws an architecture, answer five questions this week:

  • Name the specific decision made late or wrongly because two systems disagree. If you cannot name one, stop here
  • How many analytical copies of your ERP data exist today — extracts, staging, Power BI imports, spreadsheets? Count them
  • What data are you deliberately not analysing because it is too large or awkward for your warehouse?
  • How long do you need to reproduce a historical report, and does anyone currently have that ability?
  • Who will own the tables — not the platform, the tables — after go-live?

Question five decides more outcomes than the technology choice does. We build these on Microsoft Fabric, OneLake and Power BI — first value in six weeks: one real slice, modelled properly, not a diagram of what could be built.

A lakehouse is a data lake with a table format and a transaction log bolted on — that one addition changes the estate from unreliable to auditable. Whether you need it depends on your data, your engines and your reconciliation burden. Book 30 minutes with Amit — no slides, no pitch deck, no obligation to proceed — a straight read on whether a lakehouse is the right answer, or whether a warehouse would serve you better.

Free Assessment

Where does your operation sit on the data maturity curve?

8 questions. 3 minutes. You get a scored breakdown across data infrastructure, analytics readiness, and automation potential — with a specific next step for your industry.

Data PlatformData LakehouseDelta LakeApache IcebergArchitecture

Your Data · Our Technology · Our Automation

Get practical insights every fortnight

Amit writes about Microsoft Fabric, Power BI, AI in operations, and digital transformation for manufacturing and supply chain leaders. Practitioner perspective - no fluff, no vendor spin.

No spam. Unsubscribe any time. Also on Substack.

FAQ

Common questions

What is a data lakehouse in simple terms?

A data lakehouse stores analytical tables as open-format files in cheap cloud object storage, with a transaction log alongside them that adds database behaviour: transactions, schema enforcement, versioning and time travel. It gives you the low cost and flexibility of a data lake with the reliability people expect from a data warehouse, in one copy of the data.

Is a data lakehouse the same as a data lake?

No. A data lake is folders of files with no transactions and no enforced schema, which is why lakes become untrustworthy. A lakehouse adds an open table format — Delta Lake or Apache Iceberg — and a transaction log on top of the same storage. The storage is identical; the table format is the difference.

Does a data lakehouse replace a data warehouse?

Sometimes, not always. A lakehouse can serve BI workloads directly, and many organisations retire a separate warehouse after migrating. Smaller estates with only structured ERP data are often better served by a warehouse alone. It depends on data volume, the number of consuming engines, and whether you hold data too large or unstructured for a warehouse.

What is an open table format?

An open table format is a publicly specified standard that turns a folder of Parquet files into a proper table with a schema, a version history and a commit protocol. Delta Lake and Apache Iceberg are the two dominant ones. Because the specification is open, engines from competing vendors can read and write the same tables.

Is Microsoft Fabric a data lakehouse?

Microsoft Fabric includes one. OneLake is the storage layer, built on Azure Data Lake Storage Gen2, and Fabric uses Delta Lake as its universal storage format across all workloads, storing tables as Delta Parquet by default. Power BI reads those tables through Direct Lake without an import-and-refresh cycle.

How long does it take to build a data lakehouse?

A first working slice — one source system landed, conformed and serving a governed report — is realistic in six weeks for a mid-market estate. A full build covering four or five source systems with governance, quality gates and production monitoring typically runs 4–6 months, depending on how clean the master data is.

Continue Reading

Related Articles

Data Platform

Microsoft Fabric vs a Legacy BI Stack (SSIS + SSAS + Power BI): The Migration Case

The most common estate I walk into is not a mess. It is an on-premises SQL Server, a set of SSIS packages built between 2014 and 2019, one or two SSAS cubes, and Power BI bolted on the front. It runs. Finance closes on it. The reason I get called is a symptom — the person who wrote the packages left, the overnight batch now finishes at 07:20 and the plant meeting is at 07:30. "It is old" is not a business case.

16 min read

Data Platform

Microsoft Fabric vs SAP Datasphere: Which One Do You Actually Need

The SAP account team says the analytics answer is SAP Datasphere, because that is where the business semantics already live. Two weeks later the Microsoft team says Fabric, because that is where Power BI, the MES extracts and the 3PL feeds already live. Both are internally consistent, and neither mentions the other except to dismiss it. The IT Head is asked to pick, and picks badly — because the two products solve different halves of one problem.

16 min read

Data Platform

The Hidden Costs of a Microsoft Fabric Migration Nobody Tells You About

The awkward conversation happens in month five, not month one. The platform works. The first three reports are live. Then the finance business partner circulates the actual run-rate against the approved business case, and the number is 30–50% over — not because the partner overran, but because six or seven cost lines were never in the case at all. I sell Fabric implementations. This names the costs my own proposals have to cover.

15 min read

Want to see how MDI solves this in your industry? Explore industry solutions

Is this the challenge you're facing?

Book a 30-minute call. We'll look at your specific operation and tell you what's achievable - plainly and without slides.