Inferensys

Glossary

Apache Iceberg

Apache Iceberg is a high-performance, open-source table format for large analytic datasets that brings ACID transactions, schema evolution, and hidden partitioning to data lakes without user intervention.
Large-scale analytics wall displaying performance trends and system relationships.
OPEN TABLE FORMAT

What is Apache Iceberg?

Apache Iceberg is a high-performance table format for large analytic datasets that brings the reliability of SQL tables to data lakes.

Apache Iceberg is an open-source table format designed for massive analytic datasets, providing ACID transactions, schema evolution, and hidden partitioning directly on data lakes. It functions as an abstraction layer over file formats like Parquet, ORC, and Avro, enabling multiple engines—including Spark, Trino, Flink, and Dremio—to safely operate on the same tables concurrently without coordination.

Unlike traditional Hive-style tables that rely on directory-based partitioning, Iceberg tracks a table's complete state through a persistent tree of metadata files, including manifest lists and manifest files. This design enables time travel queries, snapshot isolation, and efficient partition pruning without user intervention, making it a foundational component of the modern data lakehouse architecture.

MODERN TABLE FORMAT

Key Features of Apache Iceberg

Apache Iceberg is an open table format designed for petabyte-scale analytic tables, bringing ACID compliance, time travel, and schema evolution to data lakes without the overhead of traditional data warehouses.

01

Hidden Partitioning

Iceberg eliminates the need for users to manually specify partition columns in queries. Partition values are derived automatically from a partition transform on a source column, such as day(event_time) or bucket(user_id, 16).

  • No more WHERE partition_col = 'X': The engine handles partition pruning transparently.
  • Safe evolution: Partition schemes can be changed without rewriting the entire table.
  • Avoids the "small files problem": Partition granularity is decoupled from physical layout.
02

ACID Transactions

Iceberg provides serializable isolation for concurrent reads and writes. Multiple applications can safely append, delete, or update rows in the same table simultaneously.

  • Optimistic concurrency control: Writers check for conflicts at commit time and retry if necessary.
  • Atomic multi-partition commits: All changes in a single commit succeed or fail together.
  • No external transaction manager required: The table format itself enforces consistency through its metadata layer.
03

Time Travel & Rollback

Every write to an Iceberg table generates a new snapshot, an immutable point-in-time view of the table state. Users can query historical data or revert the table to a previous snapshot.

  • Reproducible queries: SELECT * FROM orders FOR SYSTEM_TIME AS OF '2024-01-15'
  • Accidental write recovery: Roll back a bad batch update in seconds.
  • Audit compliance: Retain a complete, immutable history of all data modifications.
04

Schema Evolution

Iceberg supports in-place schema changes without costly table rewrites or downtime. Add, drop, rename, reorder, or update the type of columns safely.

  • Add a column: New columns are written as null for existing data files.
  • Drop a column: Dropped columns are tracked in metadata but no longer exposed to readers.
  • Type promotion: Safely widen types like int to bigint without rewriting data.
05

Object Store Compatibility

Iceberg is designed for eventual consistency object stores like Amazon S3, Google Cloud Storage, and Azure Blob Storage. It does not rely on atomic directory renames.

  • Manifest-based tracking: File listings are stored in manifest files, not inferred from directory listings.
  • O(1) planning: Query planning reads a small, constant amount of metadata regardless of table size.
  • No list operations: Avoids the performance penalty of listing millions of files in a cloud bucket.
06

Partition Evolution

Change the partitioning strategy of an existing table without rewriting all data. New data is written using the new partition spec, while old data remains queryable under its original scheme.

  • Adapt to query patterns: Switch from monthly to daily partitioning as data volume grows.
  • No migration downtime: The table remains fully available during the transition.
  • Metadata tracks multiple specs: The Iceberg reader resolves the correct partition spec for each data file automatically.
APACHE ICEBERG

Frequently Asked Questions

Clear, technical answers to the most common questions about Apache Iceberg's architecture, performance, and role in the modern data lakehouse.

Apache Iceberg is a high-performance, open-source table format specification for large analytic datasets that brings ACID transaction reliability to data lakes. It works by defining a table as a canonical list of files through a series of metadata layers—a metadata.json file points to a manifest list, which points to manifest files, which track the actual data files. This design avoids expensive directory listings by enabling O(1) planning time for queries. Unlike directory-based Hive tables, Iceberg decouples physical file organization from logical table structure through hidden partitioning, allowing engines to skip irrelevant data without users needing to know the partition layout. The spec supports schema evolution, partition evolution, and time travel, making it the foundational table format for the data lakehouse architecture alongside Delta Lake and Apache Hudi.

TABLE FORMAT COMPARISON

Apache Iceberg vs. Delta Lake vs. Apache Hudi

A technical comparison of the three dominant open-source table formats for building ACID-compliant data lakehouses on object storage.

FeatureApache IcebergDelta LakeApache Hudi

Primary Sponsor

Apache Software Foundation / Netflix

Databricks / Linux Foundation

Apache Software Foundation / Uber

ACID Transactions

Partition Evolution

Hidden Partitioning

Copy-on-Write Merges

Merge-on-Read Merges

Time Travel

Schema Evolution

Row-Level Deletes/Updates

Compaction

Clustering/Z-Ordering

Incremental Query

File Format Agnosticism

Catalog Agnosticism

Concurrent Write Isolation

Snapshot Isolation

Serializable

OCC / MVCC

Metadata Scalability

O(1) snapshot lookup

O(n) log replay

O(1) timeline lookup

Primary Engine Integration

Spark, Flink, Trino, Dremio

Spark, Databricks

Spark, Flink, Presto

Open API Standard

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.