Data platforms · Scale

Apache Iceberg v3: what changes from v2, and when your lakehouse should upgrade

Iceberg has become the default open table format for many lakehouses. Version 3 of the spec brings features teams have wanted for years, along with an upgrade that can't be undone. Here is how I weigh it.

ComparisonSumanta Mukhopadhyay7 min read6 sources
#data#platform#scale#cloud
COMPARISON · DATA PLATFORMS · SCALE20 Oct 2026 · 20:30 GST

Open table formats solved a real problem: they let many engines share the same tables on cheap object storage, with transactions, schema evolution and time travel. Apache Iceberg has become a common choice, and the format version 3 specification6 is now supported across much of the ecosystem.

The question I get from data leaders is simple: should we upgrade? The answer depends less on the features than on every engine that touches your tables.

What v3 adds

FeatureWhat it doesWho benefits
Deletion vectorsCompact per-file bitmaps marking deleted rows, replacing positional delete files14Tables with frequent updates, deletes and merges
Row lineagePer-row identifiers and last-updated sequence numbers2Incremental processing and change data capture
Variant typeNative storage for semi-structured data3Event, log and API payload data currently stored as strings
Geospatial typesGeometry and geography types1Logistics, mobility, real estate and mapping workloads
Nanosecond timestamps and default valuesFiner time precision; defaults for new columns1Financial and telemetry data; smoother schema evolution

Deletion vectors and row lineage are the two I see mattering most. The first makes row-level changes cheaper; the second makes "what changed since last time?" a property of the table rather than a separate pipeline, which simplifies the patterns in change data capture and event streams.

The catch: it's one-way

AWS guidance is explicit that upgrading a table from v2 to v3 can't be reversed through standard operations, and that v2 readers can't read v3 tables. It also notes that the upgrade does not backfill row lineage history2.

Engine support also varies in detail. Amazon Redshift's documentation, for example, lists v3 data types it does not support5. A table that works perfectly in Spark could become unreadable to a BI tool, an ML feature pipeline or a partner's engine the day you upgrade it.

Before upgrading any table, list every engine, service and tool that reads it, including the ones owned by other teams. One unsupported reader turns an upgrade into an outage.

v2 or v3: how I decide

Stay on v2 for now ifMove to v3 if
Any reader lacks confirmed v3 supportAll readers support v3 and you've tested them
Tables are mostly append-onlyTables see heavy updates, deletes or merges
Change tracking already works wellYou need incremental processing without extra pipelines
Semi-structured data is rareJSON payloads are common and painful to query

An upgrade plan

  1. Inventory readers and writers per table, with their versions and v3 support status.
  2. Create new tables on v3 where all their consumers support it. New tables carry no compatibility risk.
  3. Upgrade high-benefit tables first, such as those with heavy merge workloads, after copying and testing a sample in a separate namespace.
  4. Record format versions in the catalog and your data contracts, so consumers know what to expect.
  5. Leave stable, append-only tables alone until there is a reason to move them.

Treat it like any platform change: an architecture decision record per domain, a rollback plan that doesn't depend on downgrading, and monitoring for read failures.

Why this matters for AI

Lakehouses increasingly feed AI: training data, feature pipelines and document stores for retrieval. Row lineage helps keep downstream indexes and features in sync with source changes, and variant columns make it easier to keep raw payloads queryable. Both reduce the custom plumbing that tends to break quietly between a data platform and an AI product.

How I can help

I design and review data platforms for scale, from table formats and catalogs to the pipelines that feed analytics and AI. As a fractional CTO I can own the data roadmap, or I can assess an existing platform in technical due diligence. Or analyse your challenge and bring the result to a call.

References
  1. 1
    What's new in Apache Iceberg v3?Google Open Source Blog · Aug 2025
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
    Iceberg table specApache Iceberg
FAQ

Common questions

What is new in Apache Iceberg v3?

Headline features include deletion vectors that replace positional delete files, row lineage fields for tracking changes, a variant type for semi-structured data, geospatial types, nanosecond timestamps and default column values.

Can I downgrade an Iceberg table from v3 to v2?

Not through standard operations. AWS guidance describes the upgrade as one-way, and v2 readers can't read v3 tables, so every engine that reads the table must support v3 first.

When should I upgrade to Iceberg v3?

When every engine and tool reading the table supports v3, and you have a concrete need such as heavy row-level updates, change data capture or semi-structured data. Upgrade table by table, starting with tables that benefit most.

Keep reading

Related

Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. US & UAE time zones.