History
How the category emerged
The open lakehouse was not designed in one go. Each layer of it exists because a previous arrangement failed in a specific way. Reading the sequence is the fastest way to understand why the architecture is shaped the way it is, and why the argument has now moved to the catalog and the semantic layer.
Dates are approximate. These shifts overlapped heavily and arrived at different times in different organisations.
-
Roughly 2006 to 2013
Hadoop and the first data lakes
The problemStorage was expensive and schemas had to be decided before any data could be kept.
What happenedHadoop made it affordable to store everything on commodity hardware and decide what it meant later. Hive added a SQL interface and a metastore that mapped directories to tables, which is the ancestor of every catalog that followed.
What it costDirectory-as-table was a convention, not a guarantee. Nothing enforced what those directories contained.
-
Roughly 2013 to 2018
The move to object storage
The problemRunning Hadoop clusters to hold data meant paying for compute you were not using.
What happenedObject storage separated storage from compute properly. Data went to S3 and its equivalents, and clusters were started only when needed. Parquet became the default file format because columnar layout suited analytical scans.
What it costObject storage has no atomic multi-file operations and, at the time, no strong consistency. The conventions inherited from Hadoop quietly stopped holding.
-
Roughly 2016 to 2019
The correctness crisis
The problemWriting a thousand Parquet files to object storage is not atomic. A failed job left partial data, concurrent jobs overwrote each other, and there was no way to roll back.
What happenedTeams worked around it: write to a temporary prefix and swap, avoid concurrent writers by scheduling, or copy curated data into a warehouse and treat the lake as staging.
What it costTwo systems, two copies, and a pipeline between them that could drift. The lake held everything and could be trusted for nothing.
-
Roughly 2017 to 2020
Open table formats
The problemThe workarounds did not scale, and the second copy was expensive in both money and trust.
What happenedIceberg, Delta Lake, and Hudi each added a metadata layer over the same files: a manifest of which files belong to the table now, and an atomic pointer swap to commit. That single change restored ACID transactions, schema evolution, and time travel to data sitting in ordinary object storage.
What it costThree formats solving the same problem differently, and an ecosystem that had to pick.
-
Roughly 2020 to 2023
Engines converge on the formats
The problemA table format is only useful if engines implement it, and early support was uneven and read-only.
What happenedSpark, Trino, Flink, and later DuckDB and the cloud warehouses added read and then write support. The lakehouse became a practical architecture rather than a proposal, because you could finally use the engine that suited each job.
What it costWrite support lagged read support by years, and concurrent writes across engines remained the hard part.
-
Roughly 2022 to now
The catalog becomes the contested layer
The problemWith several engines reading the same tables, the question moved from "can it read this" to "who is allowed to, and who decides".
What happenedThe Iceberg REST catalog specification defined an open API for that authority. Polaris, Nessie, Lakekeeper, Unity Catalog, and the cloud catalogs now compete on governance, credential vending, and federation rather than on storage.
What it costGovernance is now the thing that determines whether an architecture is genuinely open, and it is harder to evaluate than a file format.
-
Now
Agents arrive and raise the bar
The problemLanguage models and agents can write queries, but they cannot tell which of four revenue columns is the governed one.
What happenedAttention has moved up the stack to semantics: metric definitions, ontologies, and context that describes what data means rather than only where it is. The same governance the catalog provides for engines is now needed for agents.
What it costStill being worked out. The layers below are mature; this one is not.
The pattern
Every step traded a guarantee for scale, then spent years winning the guarantee back. Hadoop traded schema enforcement for cheap storage. Object storage traded atomicity for elasticity. Table formats bought atomicity back. Catalogs are buying governance back now, and semantics are next.
It is worth keeping in mind when evaluating whatever comes after this. The question to ask of any new layer is which guarantee it is quietly trading away.