Comparison
Delta Lake vs Apache Iceberg: how they differ, and how to choose
Delta Lake and Apache Iceberg both add ACID transactions to Parquet files in cloud storage. How their metadata differs, which platforms favour each, how UniForm, OneLake and Snowflake now bridge them, and a practical way to choose.

Hemant Walchale
· 4 min read
Delta Lake and Apache Iceberg solve the same problem: turning Parquet files in cloud storage into reliable tables with transactions, schema evolution and time travel. That is what makes a lakehouse possible. A few years ago choosing between them felt like a long-term bet. Today the formats are converging, and the more important choices are your platform and your catalog.
Side by side
| Delta Lake | Apache Iceberg | |
|---|---|---|
| Origin and governance | Created by Databricks, now a Linux Foundation project | Created at Netflix, an Apache Software Foundation project |
| Metadata | Ordered transaction log (_delta_log) with JSON commits and Parquet checkpoints |
Metadata files, manifest lists and manifests; a catalog points to the current metadata |
| Catalog | Often Unity Catalog or a metastore; the log in storage defines the table | Required: REST catalogs (such as Apache Polaris or Snowflake Open Catalog), AWS Glue, Unity Catalog and others |
| Native platforms | Databricks, Microsoft Fabric (OneLake) | Snowflake, AWS (Athena, EMR, S3 Tables), Trino, Dremio, many open engines |
| Row-level deletes | Deletion vectors | Position deletes in v2; deletion vectors in format v3 |
| Partitioning | Partition columns, plus liquid clustering on Databricks | Hidden partitioning with transforms, and partition evolution |
Both support ACID transactions, schema evolution and time travel. Performance differences depend far more on the engine and its optimisations than on the format.
Convergence: you rarely have to pick just one
- Delta UniForm writes Iceberg metadata alongside the Delta log, so Iceberg readers can read Delta tables.
- Microsoft Fabric OneLake virtualizes metadata in both directions: Delta tables gain Iceberg metadata, and shortcuts to Iceberg tables appear as Delta tables. It currently produces Iceberg v2 metadata and has limits on some partition transforms and v3 types.
- Snowflake manages Iceberg tables natively and can read Delta tables in object storage as Iceberg tables through Delta Direct.
- Databricks acquired Tabular, the company founded by Iceberg’s original creators, in 2024, and supports Iceberg tables and REST catalog access through Unity Catalog.
- Iceberg v3 (generally available from Iceberg 1.10) adds deletion vectors, a variant type, row lineage and default values, closing several feature gaps. Engine support for v3 still varies, so check before upgrading tables.
How to choose
- Follow your primary platform. Databricks or Fabric: Delta Lake. Snowflake or an AWS-centred open stack: Iceberg. Fighting the platform’s native format costs performance and features.
- Choose the catalog deliberately. With Iceberg especially, the catalog decides which engines can write, how access is governed, and where lock-in really lives.
- Use interoperability for cross-engine reads, and test the specific features you rely on (deletion vectors, types, partitioning) before depending on them.
- Keep one writer per table. Many engines can read; letting several engines write to the same table is where consistency problems start.
The short version
Delta Lake and Iceberg are both open table formats over Parquet with transactions and time travel; Delta uses a transaction log, Iceberg a catalog-anchored metadata tree. Use the format native to your main platform, choose your catalog carefully, and rely on UniForm, OneLake virtualization or Snowflake’s Delta support for cross-engine access. Our data platform engineering team designs open-format lakehouses, and our migration work often includes format decisions.
Related: what is a data lakehouse, what is Unity Catalog, Databricks vs Snowflake for financial services and Databricks vs Microsoft Fabric.
Sources
- Delta Lake documentation, Delta Lake project
- Apache Iceberg table spec, Apache Iceberg
- Read Delta tables with Iceberg clients (UniForm), Databricks documentation
- Use Iceberg tables with OneLake, Microsoft Learn
- Apache Iceberg tables, Snowflake documentation
Further reading from other practitioners
Not sure where your own platform stands? Take the free 3-minute data platform scorecard, or see how we work on Databricks. Unfamiliar terms are explained in the data engineering glossary.