Skip to content

Iceberg vs. Delta Lake

Question

How would you compare Apache Iceberg and Delta Lake for a lakehouse table?

Short interview answer

Both add transactional table semantics over data files such as Parquet: versioned table state, atomic commits, concurrent-write handling, and historical versions. Iceberg manages table state through metadata and manifests, while Delta Lake uses a versioned transaction log. The choice depends on engine ecosystem, catalog and governance needs, and operational fit.

Detailed answer

Both formats solve the same problem: this is only a folder of files, not a table with transactions.

s3://analytics/orders/
  part-001.parquet
  part-002.parquet
  part-003.parquet

Neither file name says which files belong together after an update, which version a reader should use, or how two writers avoid overwriting one another.

Both formats add a versioned definition of the table, but they record it differently:

Iceberg                                 Delta Lake
-------                                 ----------
metadata/v17.metadata.json              _delta_log/00000000000000000017.json
metadata/snap-17.avro                   _delta_log/00000000000000000018.json
data/part-001.parquet                   part-001.parquet
data/part-002.parquet                   part-002.parquet

In an Iceberg table, metadata files and manifests describe the current snapshot. In a Delta Lake table, the transaction log records the ordered changes that produce the current version. In both cases, a writer creates data files first and then publishes one new table version.

Imagine a company where the same orders table must be read and written by Spark jobs, Trino analysts, and Flink streaming jobs. I would test the exact versions of those engines and catalogs against both formats. The winning format is the one all of those tools can operate reliably, including schema changes, maintenance, and concurrent writes.

On the other hand, if a team already runs a platform with mature Delta Lake operations and the main writers and readers are in that ecosystem, Delta Lake may reduce operational friction. If broad interoperability across engines and catalogs is the key constraint, Iceberg may fit better. The point is not “Iceberg always wins” or “Delta always wins”; it is to choose the table format that matches the platform the team actually runs.

Sources