Apache Iceberg vs Delta Lake
Apache Iceberg
iceberg.apache.orgDelta Lake
delta.ioSide by side
| Figure | Apache Iceberg | Delta Lake |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Data Version Control Tools | 8.7 (#3) | 8.5 (#9) |
| Spec score · Analytics Data | 8.6 (#5) | 8.5 (#6) |
| Community support | The project provides community discussions through its dev mailing list and an Apache Iceberg Slack workspace. | The project points users to Slack, GitHub Issues, Stack Overflow, and Google Groups for community help. |
| Integrations | The documentation lists integrations including Kafka Connect, AWS Glue, AWS S3, Dell ECS, JDBC, and Nessie. | Listed integrations include Apache Spark, Flink, Hive, Trino, Athena, BigQuery, Databricks, Microsoft Fabric, and Snowflake (Beta). |
| Time travel | Users can query a table snapshot from a specific version or timestamp and roll a table back to an earlier state. | Users can access or revert to earlier data versions for audits, rollbacks, or reproducibility. |
Plans
In their own words
Apache Iceberg
Apache Iceberg is a free, open-source table format for analytic datasets, including very large analytic tables. It is self-hosted and works through APIs on Linux, macOS, and Windows, using storage you provide. Engines such as Spark, Trino, Flink, Presto, Hive, and Impala can use the same tables. SQL commands support merging new data, updating rows, and targeted deletes. Columns can be added, renamed, or reordered without rewriting a table. Hidden partitioning creates partition values and skips unnecessary partitions and files. Table snapshots can be queried by version or timestamp, and tables can be rolled back. Atomic updates, serializable isolation, consistent snapshot reads, and optimistic concurrency support multiple writers. Integrations include Kafka Connect and catalogs such as AWS Glue, JDBC, and Nessie. Encryption supports AWS, Azure, or GCP KMS clients, including custom clients. Version 1.12.0 removes Spark 3.4 and Flink 2.0 support. The Apache License 2.0 applies.