Cloud Parts

Data lake, lakehouse or warehouse?

DimensionData lakesLakehousesData warehouses
In one lineRaw files in cheap storage, given a structure when readTables made of open files, with transactionsA managed database built for analytics
Where the data livesYour object storage, in any format: JSON, CSV, Parquet, imagesYour object storage, as Parquet files tracked by a table formatThe warehouse’s own managed storage, in its own format
SchemaApplied on read; nothing checks data on the way inEnforced on write; columns can change without rewriting filesEnforced on write
Updates and deletesNo transactions: rewrite the affected files yourself, and hope no reader catches you halfwayAtomic commits; MERGE, UPDATE and DELETE through the engineBuilt in
Who can read itAny engine that reads the files, each with its own table definitions unless they share a catalogAny engine that speaks the table format, through a shared catalogMainly the warehouse’s own engine
Data it suitsAnything, including images, audio and documentsTables, with other files kept alongside themTables and semi-structured JSON
What you operateStorage is easy; keeping the lake findable and trustworthy is the real workCatalog, compaction, snapshot expiry and permissions, unless a platform manages themLittle: tuning, compaction and access control are managed
Cost at scaleObject-storage prices; engines cost money only while they runObject-storage prices; engines cost money only while they runStorage and compute priced by the vendor
Reach for it forCheap raw storage, and files that aren’t tablesOne copy of data shared by BI, ML and streamingQuick BI wins with a small team

Rule of thumb

They stack more than they compete. A lakehouse is a data lake with a table format on top, and most warehouses now read and write Iceberg tables in it. Ask where the authoritative copy lives, whether writes are transactions, and who else can read it without a copy job.

Sources