Skip to content
Core Concepts Last updated: May 14, 2026

Apache Iceberg vs Delta Lake

Apache Iceberg and Delta Lake are the two dominant open table formats for cloud lakehouses — Iceberg offers superior multi-engine neutrality and the broadest ecosystem support, while Delta Lake is tightly integrated with Databricks and has strong tooling within the Spark ecosystem.

iceberg vs delta lakeapache iceberg delta lake comparisondelta lake iceberg differenceopen table format comparisoniceberg delta lake which better

Apache Iceberg vs Delta Lake

Apache Iceberg and Delta Lake are the two dominant open table formats for cloud data lakehouses, and comparing them is one of the most common questions in the modern data engineering world. The right choice depends on your existing ecosystem, governance requirements, and how important multi-engine portability is to your architecture.

Origins and Governance

AspectApache IcebergDelta Lake
Created byNetflix (2017)Databricks (2019)
GovernanceApache Software FoundationLinux Foundation Delta Lake Project
Open sourceYes (Apache 2.0)Yes (Apache 2.0)
SpecificationOpen, community-governed specControlled primarily by Databricks
Vendor neutralityFully vendor-neutralDatabricks-first (UniForm for interop)

Core Architecture Differences

Transaction Log

Delta Lake: Stores a transaction log as JSON files (_delta_log/) with sequential JSON commit files (00000.json, 00001.json, …) and periodic Parquet checkpoint files. The transaction log is a flat sequence of operations.

Apache Iceberg: Stores metadata as a hierarchy: metadata JSON → manifest list → manifest files → data files. Each snapshot is a complete, self-describing metadata tree with rich per-file statistics.

Iceberg’s approach enables:

Delta Lake’s log approach is simpler to implement but can accumulate many JSON files in high-commit scenarios (mitigated by checkpointing).

Catalog and Multi-Engine Support

Apache Iceberg: Built around a fully abstracted, engine-neutral catalog API. Any catalog (HMS, Glue, Nessie, Polaris, JDBC) implements the catalog interface. Multiple engines connect via the Iceberg REST Catalog specification — a published, open API standard.

Delta Lake: Natively integrated with the Databricks Unity Catalog. Multi-engine support added retroactively via UniForm (Delta tables automatically generate Iceberg metadata), but external engines are read-only on UniForm tables.

Row-Level Deletes

Apache Iceberg: First-class, spec-level support for row-level deletes via:

Delta Lake: Row-level deletes via deletion vectors (Delta 2.0+) stored as compact bitmaps. Functionally similar to Iceberg’s deletion vector approach but implemented in the Delta transaction log.

Feature Comparison

FeatureApache IcebergDelta Lake
Time travelYes (snapshot-based)Yes (version-based)
Schema evolutionFull (column IDs)Full
Partition evolutionYes (metadata-only)Partial (requires rewrites)
Hidden partitioningYesNo
Multi-engine readsExcellent (REST Catalog)Good (UniForm — read-only)
Multi-engine writesExcellentLimited (Databricks primary writer)
Branching and taggingYes (table-level)No (catalog-level via Unity)
Open catalog standardREST Catalog specUnity Catalog API (proprietary)
Streaming supportYes (Flink, Spark Streaming)Yes (Spark Streaming, DLT)
DML (UPDATE/DELETE/MERGE)Full (Spec v2)Full
GovernanceApache FoundationLinux Foundation

Ecosystem Support

Apache Iceberg is supported natively by every major query engine:

Delta Lake is supported by:

Delta’s ecosystem is narrower than Iceberg’s, particularly outside the Spark/Databricks world.

When to Choose Apache Iceberg

When Delta Lake May Be Preferred

The Industry Trajectory

Since 2023, the industry has clearly consolidated on Apache Iceberg as the multi-engine interoperability standard. Evidence:

Even Delta Lake’s vendor (Databricks) has invested in Iceberg compatibility, which signals where the ecosystem is heading.

📚 Go Deeper on Apache Iceberg

Alex Merced has authored three hands-on books covering Apache Iceberg, the Agentic Lakehouse, and modern data architecture. Pick up a copy to master the full ecosystem.

← Back to Iceberg Knowledge Base