OneLake vs Lakehouse vs Warehouse vs Shortcut: which Fabric analytics piece fits
Verdict: Warehouse suits structured SQL data needing schema enforcement and concurrency; Lakehouse suits mixed or semi-structured data and Spark or ML workloads; both sit on OneLake, the single shared store; a shortcut references external data in place without copying it.
| Criterion | OneLake | Lakehouse | Warehouse | Shortcut |
|---|---|---|---|---|
| What it is | Single logical data lake built on ADLS Gen2, shared by every Fabric workload | Files, folders, and tables acting as a database over the lake | Managed SQL Server compatible relational warehouse backed by OneLake | Live reference that makes external storage appear inside a Lakehouse with no copy |
| Use when | You need one shared tenant-wide store underneath all Fabric items | Data is mixed or semi-structured and the team works in Spark notebooks or ML | Data is structured, the team writes SQL, and needs schema enforcement with high concurrency | Data must stay in its original location, such as external S3 storage |
Rules
- Fabric is a unified SaaS analytics platform where every workload reads from and writes to the same OneLake storage.
- OneLake is a single logical data lake built on Azure Data Lake Storage Gen2, shared by all Fabric workloads.
- Choose Fabric Warehouse when data is structured, the team writes SQL, and needs strong schema enforcement with high concurrency.
- A lakehouse is a collection of files, folders, and tables that acts as a database over a data lake.
- A OneLake shortcut is a live reference to external storage such as Amazon S3, with no copying or duplication.
Traps
- Lakehouse fits mixed or semi-structured data and ML workflows, not the structured SQL, schema-enforcement need that points to Warehouse.
- A shortcut is a live external reference, not a lakehouse, which organises stored data as a database over the lake.
- A pipeline, mirroring, or a notebook writing into the Lakehouse all copy the data, unlike a shortcut, which leaves it in place.
- OneLake is storage, not a compute engine, so it is not a dedicated SQL pool or a Spark cluster.