Back to blog
Data
BeginnerForData EngineersPlatform EngineersCloud Architects
7 min

Iceberg vs Delta Lake in 2026: A Plain Guide to Picking One

What a table format actually is, what Iceberg and Delta Lake really do differently in 2026, and why the choice is decided by your catalog and your query engine rather than by the format itself.

apache-icebergdelta-laketable-formatlakehousedata-engineeringdata-platform
Contents

Most articles about Iceberg and Delta Lake start by comparing features. That is the wrong place to start, because in 2026 the feature lists look almost identical, and because most people asking the question have not been told what a table format actually is.

So let us start there, in plain language, and only then compare.

Iceberg vs Delta Lake in 2026: what a table format is and how to choose one.

What a table format actually is

You have a folder in object storage. Inside are a few thousand Parquet files. Somebody calls this “a table”.

It is not a table. It is a folder. And that causes three real problems:

A folder of Parquet files versus the same files with a table format metadata layer on top.

Nobody agrees what is in it. A query engine has to list the folder to find out. If a job is halfway through writing new files, one reader sees them and another does not.

You cannot safely change anything. Deleting a row means rewriting a file. If a reader is mid-scan when you swap it, results are wrong.

You cannot go back. Overwrite yesterday’s file and yesterday is gone.

A table format is a rulebook that fixes this. It adds a metadata layer that tracks which files belong to the table, what the schema is, and what the table looked like at each point in time. Readers ask the metadata, not the folder.

That is it. Apache Iceberg and Delta Lake are two competing rulebooks for the same job. The data underneath is still Parquet in both cases.

The 30-second answer

If you want to stop reading here:

  • Already on Databricks? Delta Lake. It is the native format and the integration is deepest there.
  • Want maximum engine and vendor independence? Iceberg. It has the broadest spread of independent engines and catalogs.
  • Starting fresh with no strong tie? Iceberg is the safer default in 2026, because more independent engines speak it natively.
  • Already deep in Delta and worried about lock-in? You may not need to move at all — see UniForm below.

Everything after this is the reasoning.

Where they came from, and why it still matters

This is the part that explains most of the differences.

Iceberg is an Apache Software Foundation project. ASF governance means no single vendor controls the spec, and that shows in the ecosystem: BigQuery, Snowflake, Redshift, Athena, Trino, ClickHouse, DuckDB, Dremio, StarRocks, Doris, Druid, Firebolt and Microsoft OneLake all read it, and the catalog layer has multiple independent implementations including Apache Polaris, Apache Gravitino, AWS Glue, Nessie and Lakekeeper.

Delta Lake came out of Databricks and became a Linux Foundation project in 2019. The project states plainly that it is “an independent open-source project and not controlled by any single company”, and it lists over 190 developers from more than 70 organisations. But its centre of gravity is still Databricks, and its most active recent development — the Unity Catalog Delta APIs — is Databricks-adjacent.

What this means in practice: if your worry is “will I be able to read my own data in five years with a tool I have not chosen yet”, Iceberg’s governance is the more conservative bet. If your platform is already Databricks, that worry is mostly theoretical and Delta gives you a better daily experience.

What is actually the same

More than the marketing suggests. Both give you:

What is actually the same
Capability What it means
ACID transactions Writers do not corrupt each other; readers see a consistent snapshot
Time travel Query the table as it looked yesterday; roll back a bad load
Schema evolution Add, rename, drop and reorder columns without rewriting data
Row-level deletes and updates Delete or update individual rows without rewriting whole files
Streaming and batch The same table serves both
Parquet underneath Your actual data files are the same in both

If someone tells you one of these is a differentiator, they are selling something.

What is actually different

What Iceberg and Delta Lake really do differently: partitioning, governance and interoperability.

Three things genuinely differ.

1. Iceberg hides partitioning; Delta does not.

This is Iceberg’s most useful distinctive feature and the one most worth understanding.

In older systems, if a table was partitioned by day, a query had to filter on the partition column explicitly or it would scan everything. Users had to know the physical layout.

Iceberg records the transform — “partition by day of this timestamp column” — as table configuration. You write a normal filter on the timestamp, and Iceberg derives the partition filter and skips files for you.

Better still, it supports partition evolution. Start partitioning by month, discover your data grew, switch to day — without rewriting the existing data. Old files keep their old scheme, new files use the new one, and queries still work because filters are derived, not hard-coded.

2. Delta answers interoperability with UniForm.

Delta’s response to “but everyone else uses Iceberg” is the Delta Universal Format. UniForm lets Delta tables be read by Iceberg and Hudi clients.

That is a genuinely pragmatic move. If your organisation standardised on Delta three years ago, you do not necessarily need a migration project — you may just need to turn on UniForm and let Iceberg-speaking engines read what you already have.

3. Delta ships a kernel that engines embed.

Delta maintains a Kernel, including a Rust implementation, that other engines can embed rather than reimplementing the protocol. ClickHouse integrated the Rust Delta Kernel this year. This lowers the cost of a new engine supporting Delta correctly, which matters because protocol reimplementation is where subtle bugs live.

The thing that actually decides it

Here is the part most comparisons skip.

You will change your table format more easily than you will change your catalog.

The catalog is what tracks which tables exist, where their metadata lives, and who is allowed to read them. Iceberg has a REST Catalog specification precisely to decouple this, and there are several implementations. Delta’s recent work centres on the Unity Catalog Delta APIs.

Your catalog is wired into your permission model, your lineage tooling, your CI, and every pipeline you run. Migrating a table format is a documented procedure — Iceberg even publishes a Delta Lake migration guide. Migrating a catalog is a project.

So the honest decision procedure is:

  1. What catalog will govern this data? If the answer is Unity Catalog, you are on Delta. If it is Polaris, Glue, Gravitino, BigLake or Nessie, you are on Iceberg.
  2. Which engines must read it? List them, then check which format each speaks natively rather than through a bridge.
  3. Only then look at features.

If you skip to step 3 you will make a decision that step 1 quietly overrules six months later.

Which spec version to be on

Worth stating because it trips people up.

For Iceberg, spec versions 1, 2 and 3 are complete and adopted by the community. Version 3 added extended types (nanosecond timestamps, variant, geometry and geography), column default values, row lineage tracking and binary deletion vectors. Version 4 is under active development and has not been formally adopted — it restructures metadata and adds relative paths so tables can be relocated without rewriting metadata. Do not plan around v4 yet.

For Delta Lake, the current line is 4.4.0 on Apache Spark 4.2.0.

The decision table

The decision table
Your situation Pick
Databricks is your platform Delta Lake
Multiple query engines, several vendors Iceberg
BigQuery or Snowflake as primary warehouse Iceberg — both read it natively
You need to change partitioning later Iceberg — partition evolution
Already on Delta, need Iceberg readers Stay on Delta, enable UniForm
Governance and vendor neutrality are the priority Iceberg — ASF governance
Starting fresh, no constraints Iceberg — broader native support
Your catalog is Unity Catalog Delta Lake — the decision is already made

If you are still deciding what sits above the table format, the warehouse comparison in BigQuery vs Snowflake covers the layer that will consume these tables.

The bottom line

The format war is quieter than the blog posts suggest. Both formats do the same core job, both are production-grade, and the interoperability layers mean picking “wrong” is recoverable.

What is not recoverable cheaply is a catalog choice, an engine commitment, or a permission model built around the wrong assumption. Decide those first and the table format usually decides itself.

And if you take one technical thing away: hidden partitioning and partition evolution are the real Iceberg advantage. Not because they are exciting, but because “we partitioned this wrong two years ago and cannot fix it without a rewrite” is a genuinely expensive sentence, and Iceberg is the one that lets you avoid saying it.

Frequently asked questions

What is a table format, in plain English?

It is a rulebook that sits on top of a pile of files — usually Parquet — in object storage, and answers the question 'which files belong to this table right now'. Without it, a table is just a folder, and two tools looking at that folder can disagree about what they see, especially while someone is writing. The table format adds a metadata layer that tracks files, schema and snapshots, so readers get a consistent view and writers do not corrupt each other.

Is Iceberg or Delta Lake better in 2026?

Neither is better in general, and the feature lists have converged to the point where a comparison chart is not very useful. Both provide ACID transactions, time travel, schema evolution and row-level deletes. Iceberg is governed by the Apache Software Foundation and has the broader spread of independent engines and catalogs. Delta Lake is a Linux Foundation project with deep Databricks and Unity Catalog integration and a universal-format layer that lets other clients read it. The right answer depends on which query engine and catalog you already run.

What is Iceberg's hidden partitioning?

In older systems you had to know the physical partitioning of a table and write filters against it, so a query on a timestamp would only be fast if you also filtered on a derived partition column. Iceberg records the transform from a data column to a partition value as table configuration, derives partition filters from your normal column predicates and skips files automatically. It also supports partition evolution, so you can change the partitioning scheme without rewriting the existing data.

What is Delta UniForm?

UniForm, short for Delta Universal Format, is Delta Lake's interoperability layer. It lets a Delta table also be read by Iceberg and Hudi clients, so a team standardised on Delta can still be consumed by engines that speak Iceberg. It is the practical answer to the format war for organisations that already committed to Delta and do not want to migrate.

Which format version should I be on?

For Iceberg, versions 1, 2 and 3 of the spec are complete and adopted by the community; version 3 added extended types, default values, row lineage and binary deletion vectors. Version 4, which restructures metadata and adds relative paths, is under active development and has not been formally adopted, so do not plan around it yet. For Delta Lake, the current release line is 4.4.0 on Apache Spark 4.2.0.

Can I switch table formats later?

Switching the format is the easy part — both projects publish migration paths, and Iceberg ships a Delta Lake migration guide. What is hard to change is the catalog and the engines that read the tables, because those touch every pipeline, every permission model and every downstream consumer. That is the real reason to pick based on your catalog rather than on a feature comparison.

From the community

Discussion on the Fediverse

Replies from Mastodon and Bluesky — straight from the open web, no tracking.

Loading replies …

ENDE