All stacks · Lakehouse & table formats

Iceberg

Open table format, catalogs, and multi-engine lakehouses.

Iceberg cover
Illustrated overview of Parquet vs ORC vs Avro: Pick by Access Pattern, Not by Benchmark
Iceberg🟡Intermediate
7 min read

Parquet vs ORC vs Avro: Pick by Access Pattern, Not by Benchmark

What each file format is actually built for — columnar analytics, Hive-native storage, and row-oriented streaming records — plus the compression, schema evolution, and small-file realities that decide your bill.

  • iceberg
  • spark
  • lakehouse

Related reading

About Iceberg

Open table formats are the biggest structural shift in analytics since the cloud warehouse: Iceberg, Delta, and Hudi turn object-store files into transactional tables that any engine can read and write. Storage stops being vendor territory; catalogs become the new strategic ground.

These guides cover the format layer in practice — how Iceberg's metadata tree enables time travel and safe schema evolution, running Snowflake and Spark against the same tables, catalog choices from Glue to Polaris to Unity, and the maintenance (compaction, snapshot expiry) that keeps lakehouse tables fast.

What you'll learn here

  • Iceberg internals: snapshots, manifests, and hidden partitioning
  • Iceberg vs Delta vs Hudi with a decision framework that is not marketing
  • Multi-engine setups: one table, queried by Snowflake, Spark, Trino, and DuckDB
  • Catalog strategy: Glue, Polaris, Unity, and REST catalogs compared
  • Table maintenance: compaction, snapshot expiration, and metadata health

Frequently asked questions

Why is everyone suddenly talking about Iceberg?

Because both Snowflake and Databricks embraced it, making it the neutral interchange format between warehouse and lakehouse worlds. One copy of data in open files, queried by many engines, with no export pipelines — that economic argument is hard to ignore.

Iceberg or Delta Lake?

In Databricks-centric platforms, Delta is native and excellent. For multi-engine neutrality — Snowflake, Trino, Flink, DuckDB against the same tables — Iceberg has the broader write support and the momentum in catalogs. Increasingly you can hedge: engines are adding read/write for both.

What does an Iceberg catalog actually do?

It maps table names to the current metadata file and provides the atomic swap that makes commits transactional. Every engine must go through the same catalog for consistent reads and writes — which is why catalog choice (Glue, Polaris, Unity, REST) is the real architecture decision.

Does Iceberg replace my warehouse?

It replaces the warehouse's proprietary storage, not its compute, optimizer, or governance. A common end-state is warehouse compute (Snowflake, BigQuery) operating over Iceberg tables in your own buckets — performance trade-offs versus native tables are shrinking each release.

What maintenance do Iceberg tables need?

Regular compaction of small files, snapshot expiration to bound metadata and storage growth, and orphan-file cleanup after failed writes. Managed services increasingly automate this; if you self-manage, schedule it like any other pipeline or reads degrade slowly.

Search DataLane

↑↓ navigate↵ openesc close