Freedom251 › Data Version Control Tools
Apache Iceberg

What Apache Iceberg is
Apache Iceberg is a free, open table format for analytic datasets, built for large analytic tables. It lets engines including Spark, Trino, Flink, Presto, Hive, and Impala work with the same tables. SQL commands can merge new data, update rows, and delete selected data. Columns can be added, renamed, or reordered without rewriting a table, while hidden partitioning helps skip unnecessary partitions and files. Iceberg tracks table snapshots that users can query by version or timestamp, and tables can be rolled back to an earlier state. Its documentation describes atomic updates, serializable isolation, and consistent snapshot reads. Multiple writers use optimistic concurrency, with failed commits retried against the current table state. The project documents integrations with Spark, Flink, Kafka Connect, Hive, and catalogs including AWS Glue, JDBC, and Nessie. Iceberg is self-hosted, uses storage you provide, and is licensed under Apache License, Version 2.0. The listed plan costs nothing. The latest listed release is 1.12.0; its release notes say support for Spark 3.4 and Flink 2.0 was removed. Community discussions are available through public mailing lists and an Apache Iceberg Slack workspace.
Who it suits
Apache Iceberg suits teams managing analytic tables that need multiple query engines, table history, schema changes, or concurrent writes. It is a fit for teams that can run a self-hosted format and provide their own storage and compatible engines or catalogs.
What it does well
- Free and licensed under Apache License, Version 2.0.
- Lets multiple engines work with the same tables.
- Supports schema changes without rewriting tables.
- Provides snapshot queries and rollback.
- Supports concurrent writes with optimistic concurrency.
- Documents integrations with engines, connectors, and catalogs.
What to know first
- Self-hosted deployment uses storage you provide.
- Version 1.12.0 removes Spark 3.4 support.
- Version 1.12.0 removes Flink 2.0 support.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Apache Iceberg | Apache License 2.0 | Free |
As iceberg.apache.org lists them, read 7 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the Apache Iceberg website.
- Choose a compatible engine, such as Spark, Trino, Flink, Presto, Hive, or Impala.
- Provide storage for the tables.
- Connect through a documented integration, such as Kafka Connect or a catalog.
- Review compatibility with the listed Iceberg release.
Apache Iceberg is an open table format for large analytic datasets, designed to let different engines work with the same tables. It is best suited to teams building self-hosted analytics around shared data; its snapshot history and flexible schema changes are compelling, provided the engines in use support the chosen release.
Overview
Iceberg supplies a table layer for storage you bring and operate, rather than a hosted analytics service. Spark, Trino, Flink, Presto, Hive, and Impala can work against the same tables, which makes it a practical foundation for teams that need engine choice without maintaining separate table formats for each one. Its self-hosted model puts deployment and storage decisions with the team.
Table snapshots provide useful operational control: query a prior state by version or timestamp, then roll back when a change needs to be undone. Atomic updates, serializable isolation, and consistent snapshot reads strengthen that history, while optimistic concurrency supports multiple writers and retries failed commits against the latest table state.
Key features
- SQL row changes: Merge new data, update existing rows, and issue targeted deletes. These operations suit ongoing data maintenance where replacing an entire table would be too blunt.
- Schema evolution: Add, rename, or reorder columns without rewriting the table, helping teams adapt datasets with less disruption.
- Hidden partitioning: Iceberg derives partition values and skips irrelevant partitions and files automatically. That reduces the need for queries and users to manage partition details themselves.
- Snapshots and rollback: Querying a table at a particular version or timestamp and restoring an earlier state make it easier to inspect changes and recover from unwanted updates.
- Compaction: Rewrite data files through bin-packing or sorting strategies to reorganize table data.
- Encryption: Tables can use predefined AWS, Azure, or GCP key management clients, or a custom KMS client. The catalog must preserve the table's encryption key ID for the table's lifetime, so catalog behavior is part of the security design.
- Integrations: Documented options include Spark, Flink, Kafka Connect, Hive, and catalogs such as AWS Glue, JDBC, and Nessie. This gives teams several routes into existing data stacks.
Pricing
Apache Iceberg is free and open source under the Apache License 2.0. The Apache Iceberg plan costs nothing and includes table-level data scope, dataset branching, and point-in-time rollback, with table-level snapshots. Users bring their own storage and host the deployment themselves. There is no free trial because the software is already free; the trade-off is that teams operate the environment and choose compatible engines and storage.
Platforms
Iceberg supports API, Linux, macOS, self-hosted, and Windows environments. Downloads include source archives, Spark and Flink runtime JARs, and AWS, GCP, and Azure bundles. Its deployment model suits teams comfortable integrating libraries and managing their own infrastructure.
Who it's for
Iceberg is a strong fit for data teams managing large analytic tables that need to be shared across engines, updated by multiple writers, and recoverable through table history. It also suits organizations that want control over storage, deployment, and encryption key management. Teams seeking a managed service or a graphical, turnkey data workspace should look elsewhere.
Pros and cons
- Pro: Shared tables across Spark, Trino, Flink, Presto, Hive, and Impala support mixed-engine analytics without tying a dataset to one engine.
- Pro: Snapshot queries, rollback, and concurrent-write handling give operators concrete ways to inspect and recover table changes.
- Pro: Schema changes and hidden partitioning reduce routine table maintenance as datasets evolve.
- Con: Self-hosting and bring-your-own storage require teams to own deployment and infrastructure decisions.
- Con: Version 1.12.0 removes support for Spark 3.4 and Flink 2.0, which rules out that release for workloads still depending on either version.
- Con: Encryption depends on the catalog retaining the key ID property throughout the table's lifetime, adding a requirement to catalog selection and operation.
Alternatives
For a wider comparison, see Data Version Control Tools. Choose Apache Paimon when a free, open-source data lake platform with connector and storage plugin choices is a better fit. git-annex is a free option for managing large files without storing their contents in Git, a different focus from Iceberg's analytic tables. Weights & Biases offers a free tier with five model seats, 5 GB per month of storage, and 1 GB per month of Weave ingestion, with a free trial also available.
ClearML is another freemium option; its self-hosted version is open source. Dolt pairs free open-source software with a paid DoltHub Pro plan at $5 a month, while Neon offers a free tier with project, compute, storage, branch, and egress caps. Nile has a free local option that runs on the user's machine without a cloud account. DataChain offers free local compute for a single developer across millions of records and S3, GCS, or Azure storage, alongside a Teams plan on request.
Verdict
Choose Apache Iceberg for self-hosted analytic tables that need cross-engine access, controlled schema evolution, and recoverable snapshots. Its open format and operational safeguards make it a capable foundation for substantial data workloads, while teams relying on Spark 3.4 or Flink 2.0 should avoid version 1.12.0 and verify compatibility before upgrading.
Verdict
Choose Apache Iceberg when analytic tables need to be shared across engines while retaining snapshots, rollback, and flexible schema changes. Check engine compatibility before adopting version 1.12.0, especially if a workload relies on Spark 3.4 or Flink 2.0.
Questions
How much does Apache Iceberg cost?
The listed plan costs nothing. The pricing model is free.
Is Apache Iceberg open source?
Yes. The project states that it is licensed under Apache License, Version 2.0.
Which engines can work with Iceberg tables?
The project lists Spark, Trino, Flink, Presto, Hive, and Impala.
Does Iceberg provide table rollback?
Yes. Users can query snapshots by version or timestamp and roll a table back to an earlier state.
Which storage does it use?
Its storage model is bring your own, and its deployment model is self-hosted.
What compatibility changes are listed for version 1.12.0?
The release notes say support for Spark 3.4 and Flink 2.0 was removed.
Facts from Apache Iceberg's own pages
- Community support
- The project provides community discussions through its dev mailing list and an Apache Iceberg Slack workspace. · iceberg.apache.org, 7 Oct 2026
- Compaction
- Data files can be rewritten using strategies such as bin-packing or sorting. · iceberg.apache.org, 7 Oct 2026
- Concurrent writes
- Iceberg supports multiple concurrent writes using optimistic concurrency, with failed commits retried against the new current table state. · iceberg.apache.org, 7 Oct 2026
- Downloads
- The downloads page lists source archives and runtime JARs for Spark and Flink, along with AWS, GCP, and Azure bundles. · iceberg.apache.org, 7 Oct 2026
- Encryption
- Table encryption can use predefined AWS, Azure, or GCP KMS clients, or a custom KMS client. · iceberg.apache.org, 7 Oct 2026
- Engine compatibility
- The project says engines including Spark, Trino, Flink, Presto, Hive, and Impala can work with the same tables at the same time. · iceberg.apache.org, 7 Oct 2026
- Engines
- The site lists Spark, Trino, Flink, Presto, Hive, and Impala as engines that can work with Iceberg tables. · iceberg.apache.org, 7 Oct 2026
- Integrations
- The documentation lists integrations including Kafka Connect, AWS Glue, AWS S3, Dell ECS, JDBC, and Nessie. · iceberg.apache.org, 7 Oct 2026
- License
- The site states that Apache Iceberg is licensed under the Apache License, Version 2.0. · iceberg.apache.org, 7 Oct 2026
- Notable compatibility limit
- Version 1.12.0 removes Spark 3.4 and Flink 2.0 support. · iceberg.apache.org, 7 Oct 2026
- Partitioning
- Hidden partitioning lets Iceberg produce partition values and skip unnecessary partitions and files automatically. · iceberg.apache.org, 7 Oct 2026
- Purpose
- Apache Iceberg is an open table format for analytic datasets and a high-performance format for huge analytic tables. · iceberg.apache.org, 7 Oct 2026
- Release and limits
- The latest listed release is 1.12.0, and its release notes say Spark 3.4 and Flink 2.0 support were removed. · iceberg.apache.org, 7 Oct 2026
- Reliability
- The documentation describes atomic table updates, serializable isolation, consistent snapshot reads, and rollback from table history. · iceberg.apache.org, 7 Oct 2026
- Schema evolution
- Columns can be added, renamed, and reordered without rewriting the table. · iceberg.apache.org, 7 Oct 2026
- Security requirement
- Catalogs must preserve the table's encryption key ID property throughout the table's lifetime. · iceberg.apache.org, 7 Oct 2026
- SQL operations
- Iceberg supports SQL commands to merge new data, update existing rows, and perform targeted deletes. · iceberg.apache.org, 7 Oct 2026
- Support
- The project community page lists public mailing lists, including user and developer lists. · iceberg.apache.org, 7 Oct 2026
- Time travel
- Users can query a table snapshot from a specific version or timestamp and roll a table back to an earlier state. · iceberg.apache.org, 7 Oct 2026
Where Apache Iceberg stands on Freedom251
- Data Version Control Tools#2 of 36
- Analytics Data#3 of 30
