learn-ai-infra-with-phoebe / Practitioner session 5 of 10
Learn AI Infra with Phoebe · Practitioner track · Session 5 of 10

The lakehouse engine

Layer four is SQL at scale over the tables b2 and b3 gave you, plus the modelled marts your analysts actually query. It is also where two of the most repeated words in enterprise data live: medallion and unified. Tonight we take both apart. Medallion is a vocabulary, not a technology, and the three big vendors who all say "unified" are unifying three genuinely different axes. Knowing which axis your pain sits on is most of the evaluation.

🟡 Practitioner track Platform · DE · architects Vendor-neutral · real rate cards 45 min
0-3 · Welcome 3-18 · Medallion honestly + the three axes 18-42 · The DA and DS working surface 42-45 · Q&A
Part 0

Where we are in the stack

Storage gave you cheap durable bytes. The table format and catalog gave you transactions and one source of truth over those bytes. Orchestration made data arrive. Layer four is the engine: SQL at scale, plus the transform work that turns landed data into modelled marts. This is the layer where the data engineer hands off and the analyst picks up, and in the ladder from b1 it is the step from $2,178 to $3,778 a month - real money, and still nobody new unblocked until the semantic layer arrives in b6.

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today The lakehouse thesis in the words of the people who proposed it, an honest reading of medallion including its two standard failure modes, the three unification axes and the question that picks between them, and a clear statement of what this layer does not solve - which is why b6 exists.
Part 1 · covers the CIDR 2021 lakehouse paper and Databricks' medallion glossary

The thesis, and medallion honestly 8 min live

The lakehouse has an actual founding paper, which is unusual in this category and worth using. Zaharia, Ghodsi, Xin and Armbrust presented "Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics" at CIDR 2021. Read the title carefully: unify is in the thesis from day one, and everything the vendors have said since is a variation on it.

LiveWhat the paper actually proposed4 min▶

The argument in one sentence: turn data lakes built on open formats into systems that provide warehouse-grade performance and management, while keeping direct file I/O for advanced analytics. That last clause is the part people skip, and it is the whole reason the data scientist ends up on this layer rather than fighting a warehouse.

The paper names four enablers, and they map cleanly onto the layers you have already built:

  • A transactional metadata layer - this is b2 and b3. Open table formats and the catalog.
  • Caching - keeping hot data close to compute rather than paying to read it from object storage repeatedly.
  • Auxiliary data structures - statistics, indexes, and the metadata that lets a scan skip files it does not need.
  • Data layout optimization - clustering, partitioning and file sizing, so the physical arrangement matches the query pattern.

Notice that three of the four are performance engineering, not new abstractions. The lakehouse claim is not that a new kind of database was invented. It is that with a transaction log and enough layout work, a lake can be fast enough that you stop needing a second copy of everything in a warehouse.

What the layers are for What usually happens instead Bronze "land all the data from external systems... as-is" for CDC, historical archive, lineage, reprocessing Bronze grows forever and nothing above is ever rebuilt from it - an archive nobody reprocesses. Silver "matched, merged, conformed and cleansed" an "Enterprise view" of key business entities Silver is bronze with renamed columns: no matching, no merging, no enterprise view anywhere. Gold consumption-ready "project-specific" databases de-normalized, read-optimized Gold has quietly become 40 unmaintained project tables, each owned by someone who left. Medallion is a naming convention. Nothing in Delta, Iceberg or Hudi enforces any of it.
🔍 Click to zoom - the definitions on the left are Databricks' own; the annotations are what teams report
LiveMedallion in Databricks' own definitions4 min▶

Use the vendor's own glossary rather than a blog paraphrase, because the vendor's version is more careful than the folklore:

  • Bronze - "land all the data from external source systems... as-is." The stated purposes are change data capture, historical archive, lineage, and the ability to reprocess without going back to the source.
  • Silver - data that is "matched, merged, conformed and cleansed," so the organization gets "an 'Enterprise view' of all its key business entities." Four verbs, and every one of them is real work.
  • Gold - consumption-ready "project-specific" databases, typically de-normalized and read-optimized.

That is a coherent design. Bronze buys you re-playability, silver buys you agreement about entities, gold buys you query speed for a known consumer.

Now the honest part Medallion is a naming convention, not a technology. Nothing in Delta, Iceberg or Hudi enforces it - there is no bronze type, no promotion gate, no check that silver is cleaner than bronze. Its real value is a shared vocabulary for one question: how cleaned is this table? That is genuinely useful, and it is much less than what most architecture diagrams imply.
LiveThe two failure modes you will actually meet3 min▶

The most common failure mode is a silver layer that is just bronze with renamed columns. Nobody matched, nobody merged, nobody conformed anything to a shared entity definition. The medallion diagram on the wall says the enterprise view exists; the tables say a rename happened. Because nothing enforces the convention, nothing catches this - it is caught by a person, in a review, or not at all.

The second is a gold layer that has quietly become 40 unmaintained project-specific tables. "Project-specific" is in the definition, so each one was legitimate on the day it was built. The failure is cumulative: no owner, no retirement, no register of which of the 40 anybody still queries. This is the same shape as the governance-debt pattern from the data-lake literature, arriving through the front door rather than the back.

Both failures are diagnosable in an afternoon. For a sample of silver tables, ask which entities were conformed and against what. For gold, pull query logs and count how many tables were read in the last 90 days.

Part 2 · covers Microsoft OneLake documentation and Snowflake's own platform positioning

Three vendors, three different "unified" 7 min live

Databricks, Microsoft Fabric and Snowflake all sell a unified platform, and all three are telling the truth. They are unifying three different axes, and that is the whole competitive story. Read their own words rather than the comparison grids, and the category stops being confusing.

Ask which axis your pain sits on, before you sit through three demos IF YOUR PAIN SOUNDS LIKE THIS THE AXIS UNIFIED WHOSE THESIS IT IS "Our ML features and our BI dashboards disagree about what a customer is." workloads BI and ML, one copy Databricks one copy for BI and ML "We have 60 storage accounts, no inventory, and three teams paying for copies." org. storage one OneLake per tenant Microsoft Fabric storage topology is theirs "We run a nightly export from the app DB and every answer is a day old." workload types including transactional Snowflake widest claim of the three All three are telling the truth. They are unifying three different axes. If you cannot state your pain in one of these three sentences, you are not ready to pick.
🔍 Click to zoom - "unified" has a hidden argument place: unified along what?
VendorThe axis it unifiesWhat that buysWhat it costs
Databricks workloads - BI and ML on one copy of the data your dashboard numbers and your training features come from the same tables the workload split was never your organization's actual complaint if the real pain is duplicate departmental estates
Microsoft Fabric organizational storage - one OneLake per tenant simplicity: no provisioning decisions, no proliferation of storage accounts your storage topology is now Microsoft's tenant model - simplicity bought, lock-in sold
Snowflake workload types including transactional "transactional applications, analytics and AI on one unified platform" the widest claim of the three, and the one most worth testing against your own transactional latency requirements
LiveOneLake, in Microsoft's own words4 min▶

The Fabric documentation is admirably blunt, and this verbatim line is the most useful sentence in the whole comparison:

"You can't delete OneLake or create multiple OneLakes, and there's no infrastructure to provision or manage."

Both halves of that sentence are the same design decision seen from two sides. Nothing to provision is a genuine operational gift, especially for an organization currently drowning in departmental storage accounts nobody can inventory. And it is also the statement that your storage topology is now Microsoft's tenant model - a shape you did not choose and cannot change.

Fabric does provide reach outward, and it is worth knowing what kind of reach:

  • Shortcuts to external sources including S3, ADLS and Iceberg data - references rather than copies.
  • Mirroring from Snowflake and Databricks.
  • Metadata virtualization, so that "Iceberg tables can be read as Delta Lake tables."

Apply the b2 rule here: that last one translates metadata, not data. The Parquet files were always compatible. What differed was the metadata dialect, and a translation layer is a second source of truth that can drift from the first.

LiveThe question that actually decides it3 min▶

Ask which axis your actual pain sits on before you choose anything. Three organizations, three different right answers:

  • "Our ML features and our BI dashboards disagree about what a customer is." That is a workload problem.
  • "We have 60 storage accounts, no inventory, and three teams paying for copies of the same data." That is an organizational storage problem.
  • "We run a nightly export from the application database and every analytics answer is a day old." That is a workload type problem.

A team drowning in duplicate departmental lakes and a team whose ML and BI numbers disagree will sit through the same three demos and should buy differently. If you cannot state your pain in one of those three sentences, the honest conclusion is that you are not ready to pick a platform yet - which is a cheaper finding to reach in a workshop than in year two of a migration.

Self-studyReading "unified" in any pitch2 min read▶

"Unified" is a claim with a hidden argument place: unified along what. Every time you meet the word, finish the sentence for the vendor before they do. Then ask the follow-up that separates a platform claim from a product claim: what is now impossible to do separately?

With OneLake the answer is concrete - you cannot create a second one. That is a strong form of unification and you should price it as such. Where a vendor's answer is "nothing, you can still do it the old way," the unification is a default rather than a constraint, which is a very different purchase.

Build-along · the surface your people actually work on

What the DA and the DS each get ★ 24 min · everyone does it

Strip away the vocabulary and this layer is a working surface for two of your five personas. Write down, for your own platform, exactly what each of them can touch today. The gaps you find are the agenda for b6 and b7.

The data analyst gets SQL and notebooks against modelled marts. Not against bronze, and ideally not against silver either - against gold, where the model has already been shaped for a known consumer. If your analysts are writing joins across raw landing tables, you do not have a gold layer, you have a permission grant.

The data scientist gets direct file access for training. This is the one to sit with. It is the thing warehouses could not do, and it is the original argument for the lakehouse in the CIDR paper - keeping direct I/O on open formats so advanced analytics does not need an export. Before the lakehouse, the standard pattern was a nightly extract out of the warehouse into a pile of CSVs, at which point governance, lineage and freshness all stopped at the warehouse boundary.

Check that both surfaces read the same tables. The unification claim is only real if the DS's training features and the DA's dashboard resolve to the same physical data. Two paths to one copy is the win. Two paths to two copies is the old architecture with new branding.

Now write down what is not solved here. Metric definitions live one layer up. Nothing in this layer decides what "revenue" means, and nothing stops two gold tables from computing it two ways.

LiveThe chokepoint for this layer: the compute contract3 min▶

Every layer in this course has a narrow waist where truth is decided. For storage it was egress economics; for the table format it was the catalog. For the engine it is the compute contract - and what it decides is who pays for a badly written query.

That sounds like a finance question and it is really a design question, because the answer shapes behaviour:

  • If compute is a shared pool with no attribution, a single unbounded scan is somebody else's dashboard timing out, and nobody can name the culprit.
  • If compute is attributed per team, the cost of a bad query lands on the team that wrote it, and query hygiene becomes self-correcting without a policy document.
  • If compute is attributed per query and visible to the author before they run it, you get the strongest version - feedback at the moment of the decision.
Who pays for a badly written query is a design decision THE COMPUTE CONTRACT, WEAKEST TO STRONGEST shared pool, no attribution one unbounded scan, nobody to name A single unbounded scan is somebody else's dashboard timing out. attributed per team the cost lands on whoever wrote it Query hygiene self-corrects, with no policy document required. attributed per query, shown first visible to the author before they run it Feedback at the moment of the decision - the strongest version. And the chokepoint test: what stops someone going around this? If a team can spin up its own cluster outside the scheme, it governs only the careful. Every layer has a narrow waist. For the engine it is the compute contract. It sounds like a finance question. It is a design question, because it shapes behaviour.
🔍 Click to zoom - attribution at the moment of writing beats a policy document

Apply the chokepoint test from b1 as well: what stops someone going around this? If any team can spin up its own warehouse or cluster outside the attribution scheme, your compute contract governs exactly the people who were already being careful.

Self-studyIs the warehouse and the lakehouse converging?3 min read▶

The direction of travel is real and worth naming, but it is easy to overstate, so here is the careful version.

What has shipped: Snowflake, historically the warehouse, now positions itself around "transactional applications, analytics and AI on one unified platform" - which is a warehouse reaching outward into workload types warehouses used to refuse. Fabric reads external Iceberg and ADLS data through shortcuts, mirrors from Snowflake and Databricks, and virtualizes metadata so that "Iceberg tables can be read as Delta Lake tables." Engines are learning to read each other's tables, and that part is not marketing.

What has not shipped: the deeper format convergence is a set of proposals, not a delivered capability. Do not teach it as accomplished fact, and do not let a roadmap slide enter a decision document as a current feature. The b2 rule applies without exception: translation layers move metadata, not data, and derived metadata is a second source of truth that can drift from the authoritative one.

The practical reading for an architect: assume you will be reading other people's tables, plan for it, and assume you will still be choosing one authoritative writer per table for the foreseeable future.

The gap this layer leaves open Metric definitions live one layer up, in b6 - and that gap is exactly where "two dashboards disagree" comes from. It is worth being precise about the diagnosis, because teams routinely try to fix it here. You can have perfect bronze, genuinely conformed silver, fast gold, one copy of the data, and still have two dashboards reporting different revenue, because two analysts wrote two definitions against the same correct tables. That is not a data quality problem and no amount of engine work will close it.
Real world

The founding paper is also the honest scope statement. The CIDR 2021 proposal is about performance and management over open formats - a transactional metadata layer, caching, auxiliary data structures, and data layout optimization. Every one of those is a mechanism for making a lake behave like a warehouse under query. Not one of them is a mechanism for agreeing what a metric means. The lakehouse solved the problem it set out to solve, and the semantic gap that remains is not a failure of the architecture - it is the next layer, and it is the one most organizations never fund.

Homework

Try it yourself - this week ◐ 30 min total

Source material

Official sources covered

The definitions on this page are quoted from a peer-reviewed conference paper and from the vendors' own documentation, with vendor claims labelled as vendor claims. Where a vendor's own words are more honest than the marketing summary - and here they usually are - the vendor's words are used. This page covers:

✓Zaharia, Ghodsi, Xin & Armbrust - "Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics," CIDR 2021The thesis and the four enablers · the direct-I/O argument the DS surface rests on
✓Databricks glossary - medallion architecture, bronze / silver / gold definitionsThe vendor's own definitions, read against the two standard failure modes
✓Microsoft OneLake documentation - one lake per tenant, shortcuts, mirroring, metadata virtualizationVerbatim on what cannot be deleted or duplicated · translation is metadata, not data
✓Snowflake platform positioning - transactional applications, analytics and AI on one platformThe third unification axis · labelled as a vendor claim
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · An architecture review asks whether your platform "enforces medallion." What is the correct answer?

There is no bronze type and no promotion gate in Delta, Iceberg or Hudi. That is why the two standard failure modes go undetected: a silver layer that is bronze with renamed columns, and a gold layer that has become 40 unmaintained project-specific tables.

2 · Databricks, Fabric and Snowflake all say "unified." What is the useful distinction?

All three claims are true and none of them are the same claim. Microsoft's docs are the bluntest illustration: "You can't delete OneLake or create multiple OneLakes, and there's no infrastructure to provision or manage." That buys simplicity and sells lock-in, because your storage topology becomes Microsoft's tenant model.

3 · What did the lakehouse give the data scientist that a warehouse could not?

The paper proposes warehouse-grade performance and management over open formats while keeping direct I/O for advanced analytics. Option C is the trap: metric definitions live one layer up in b6, and that gap is where "two dashboards disagree" comes from.

Practitioner session 5 cheat sheet · pin this

The founding paperZaharia, Ghodsi, Xin & Armbrust, CIDR 2021: warehouse performance and management on open formats, plus direct I/O for advanced analytics.
The four enablersTransactional metadata layer · caching · auxiliary data structures · data layout optimization. Three of four are performance engineering.
Bronze, silver, goldLand as-is for CDC and reprocessing · matched, merged, conformed, cleansed into an enterprise view · consumption-ready project-specific marts.
The honest partMedallion is a naming convention, not a technology. Nothing in Delta, Iceberg or Hudi enforces it. The value is shared vocabulary.
The two failure modesSilver that is bronze with renamed columns · gold that is 40 unmaintained project tables. Both diagnosable in an afternoon.
Three axes of "unified"Databricks = workloads · Fabric = organizational storage · Snowflake = workload types including transactional. Ask which is your pain.
OneLake, verbatim"You can't delete OneLake or create multiple OneLakes, and there's no infrastructure to provision or manage." Simplicity bought, lock-in sold.
What this layer does not solveMetric definitions live one layer up. Perfect tables plus two definitions still equals two dashboards that disagree. That is b6.