Comparisons
Pairs that get conflated in real conversations. Neither column wins — what decides is the requirement, and each record leads with the confusion, because the confusion is the reason the record exists at all.
OLTP vs OLAPBatch vs StreamingETL vs ELTParquet vs AvroLake vs Warehouse vs LakehouseCDC vs PollingEvent modelling vs Snapshot modellingFull refresh vs IncrementalLambda vs KappaOrder grain vs Order-line grain
Lake vs Warehouse vs Lakehouse
What people get wrong about this pair
The lakehouse is sold as making the choice obsolete. It narrows the gap by adding a metadata and transaction layer over files — which is a real advance — but the trade between openness and integration has not disappeared.
Data lake
Use it when
Cheap durable storage for anything, in any shape, that you may want to reprocess later.
Data warehouse
Use it when
Fast, governed, concurrent SQL over structured data with real transactions.
| Dimension | Data lake | Data warehouse |
|---|---|---|
| Data shapes | Anything, including what you cannot parse yet | Structured, schema decided at write |
| Transactions | None natively — files are just files | Yes |
| Governance | Whatever you build on top | Built in, at table and often column level |
| Cost of storing | Lowest available | Higher, and coupled to the product |
| Query performance | Depends entirely on layout | Depends on layout, but the system helps |
| Openness | Files you can read with anything | Varies; the data may not be readable outside the product |
| The lakehouse position | Adds a table-metadata layer giving files snapshots, atomic commits and schema evolution | Increasingly reads and writes open table formats in place |