SEATTLE — In a major development for petabyte-scale data architectures, Amazon Web Services (AWS) has announced full support for all data types and advanced capabilities outlined in the Apache Iceberg V3 specification across Amazon S3 Tables.
The announcement, authored by AWS engineering leader Daniel Abib, marks a critical turning point for data platform engineers, database administrators, and analytics teams struggling with the structural limitations of legacy table formats. By integrating Iceberg V3 into Amazon S3 Tables—a storage class explicitly engineered to optimize analytical workloads—AWS is offering organizations a streamlined, high-performance path to modernizing their data lakes without incurring exorbitant storage overhead or writing brittle custom pipelines.
The newly introduced capabilities, available immediately in all AWS regions supporting S3 Tables at no extra charge beyond standard S3 pricing, bring profound changes to how semi-structured, geospatial, and high-precision temporal data are handled at scale.
Main Facts: What the Apache Iceberg V3 Integration Means for Enterprise Data
Apache Iceberg has rapidly solidified its position as the de facto open standard for managing massive analytical datasets on cloud object storage. By abstracting file layouts through a robust metadata layer, Iceberg enables transactional guarantees (ACID compliance), schema evolution, hidden partitioning, and time-travel queries over standard Parquet files residing in Amazon S3.
However, as enterprise data lakes have grown into tens of billions of rows, teams running version 2 (V2) of the Iceberg specification have frequently encountered structural bottlenecks. Compliance requests to expunge user data, the ingestion of chaotic JSON payloads, and the storage of complex geospatial coordinates have traditionally forced teams to rely on costly workarounds.
The integration of Apache Iceberg V3 into Amazon S3 Tables directly addresses these friction points through four primary architectural enhancements:
- Deletion Vectors: Replacing V2’s resource-intensive positional delete files with compact binary formats, dramatically accelerating row-level deletions and updates while minimizing compaction overhead.
- Built-In Row Lineage: Automatically assigning unique identifiers (
_row_id) and sequence numbers (_last_updated_sequence_number) to every record, enabling hyper-efficient incremental data pipelines. - Advanced Data Types: Native support for
variantdata (semi-structured JSON payloads stored in an optimized columnar format), nanosecond-precision timestamps, unknown types, and specializedgeometryandgeographytypes. - Seamless Upgrades and In-Place Migration: The ability to instantly transition existing V2 tables to V3 via simple table properties without rewriting underlying data files.
Chronology: The Evolution of Open Table Formats and AWS’s Strategic Adoption
The trajectory of modern data architecture has shifted dramatically over the past decade, moving away from closed, proprietary data warehouses toward open, disaggregated data lakehouses.
- The Rise of Open Table Formats: As organizations sought to decouple storage from compute engines, technologies like Apache Iceberg, Delta Lake, and Apache Hudi emerged. Iceberg, originally developed at Netflix to handle massive tables with thousands of partitions safely, gained immense traction due to its engine-agnostic design and enterprise-grade concurrency control.
- The Limitations of V2: While Apache Iceberg V2 successfully introduced row-level updates and deletes via copy-on-write and merge-on-read mechanisms, it struggled at extreme scale. Large-scale deletes generated thousands of small positional delete files. These files fragmented read performance, forcing data teams to run continuous, compute-heavy compaction routines. Furthermore, parsing JSON strings on the fly crippled query throughput for semi-structured log and event data.
- The Introduction of the V3 Specification: The Apache Iceberg community formulated the V3 specification to solve these systemic engineering debts, introducing deletion vectors, rich type systems, and row lineage mechanisms.
- AWS S3 Tables Launch and V3 Integration: Building on its history of supporting open analytics, AWS introduced S3 Tables as a purpose-built storage layer designed specifically to maintain high performance for Iceberg tables. Today’s milestone—introducing full V3 support—completes the loop, bridging the gap between cutting-edge table specifications and managed cloud infrastructure.
Supporting Data & Architectural Mechanics: Under the Hood of Iceberg V3
To fully appreciate the impact of this release, data architects must examine how S3 Tables implement V3’s core primitives under the hood.
1. Eliminating Compaction Pain with Deletion Vectors
Under Iceberg V2, executing a compliance command to remove 50,000 user records from a two-billion-row table required generating positional delete files. When queries subsequently scanned the table, compute engines had to read the data files and cross-reference them against these separate delete files, severely degrading performance until a background compaction job rewrote the affected Parquet files.
V3 replaces positional delete files with deletion vectors. Instead of scattering thousands of small tracking files across object storage, a deletion vector writes a single, highly compact bitmap file.
- The Result: The 50,000-row deletion is recorded instantly without rewriting data files. S3 Tables handles the eventual cleanup automatically during regular maintenance cycles, saving significant compute cycles and network I/O.
2. Columnar Semi-Structured Data via the Variant Type
In modern web and mobile analytics, event tracking payloads vary wildly. Page views contain URLs and durations; purchases capture items and pricing amounts; searches store query terms. Historically, engineers stored these varied payloads as JSON strings (string data type).
Querying JSON strings at scale requires continuous run-time parsing (PARSE_JSON), burning immense CPU resources.
Iceberg V3 introduces the variant data type, which stores semi-structured data in an optimized columnar format.
- How it works: During the write phase, the database engine shreds variant data into hidden columns and collects granular statistics. At query time, these statistics allow the engine to prune unnecessary files aggressively, drastically reducing I/O compared to parsing raw JSON strings.
Practical Implementation:
A retail analytics team can define a clickstream table without a rigid schema for event payloads:
CREATE TABLE my_catalog.namespace.clickstream (
event_id bigint,
event_time timestamp,
user_id string,
payload variant
)
USING iceberg
TBLPROPERTIES ('format-version' = '3');
Inserting multi-shape JSON events is straightforward:

INSERT INTO my_catalog.namespace.clickstream VALUES
(1, current_timestamp(), 'user-42',
PARSE_JSON('"action": "purchase", "amount": 99.99, "items": ["laptop_stand"]')),
(2, current_timestamp(), 'user-17',
PARSE_JSON('"action": "page_view", "url": "/products/webcam", "duration_ms": 4200'));
Querying the data no longer requires read-time parsing. Using Amazon EMR Spark, analysts can leverage variant_get:
SELECT
event_id,
user_id,
variant_get(payload, '$.action', 'string') AS action,
variant_get(payload, '$.amount', 'double') AS amount
FROM my_catalog.namespace.clickstream
WHERE variant_get(payload, '$.action', 'string') = 'purchase'
AND variant_get(payload, '$.amount', 'double') > 50.00;
3. Row Lineage for Incremental Pipelines
Building efficient extract, transform, load (ETL) pipelines often requires identifying exactly which rows have changed since the last execution. Traditionally, engineers relied on complex watermark columns or expensive full-table scans joined against state stores.
V3 automatically injects _row_id and _last_updated_sequence_number into every record. Downstream pipelines can filter directly on these metadata fields:
SELECT *, _row_id, _last_updated_sequence_number
FROM my_catalog.namespace.clickstream
WHERE _last_updated_sequence_number > 42;
This returns exclusively the rows modified after sequence number 42, allowing downstream orchestration jobs to checkpoint values cleanly and process only incremental deltas.
Official Responses and Ecosystem Integration
AWS has positioned this release as part of a broader, cohesive strategy to provide the industry’s most comprehensive native Apache Iceberg support across every layer of the data stack.
According to AWS technical documentation and product announcements, S3 Tables integrate smoothly with a wide array of AWS analytics services:
- Storage & Optimization: Amazon S3 Tables provides purpose-built, cost-effective storage featuring automated compaction, maintenance, replication, and Intelligent-Tiering.
- Ingestion & Processing: Amazon EMR and AWS Glue 6.0 offer full native support for processing and writing Iceberg V3 tables. AWS Glue 6.0, released concurrently with expanded Iceberg capabilities, provides deep integration with lower operational pricing.
- Query & Analytics: Amazon Redshift and other engine ecosystems can query V3 tables interchangeably.
Furthermore, both S3 Tables and the AWS Glue Data Catalog support the Iceberg REST Catalog (IRC) API, ensuring cross-engine interoperability. Organizations are not locked into a single compute vendor; they can ingest data via Spark, catalog it via Glue or S3 Tables, and query it via Redshift or third-party query engines.
Implications for Enterprise Data Architecture
The arrival of Apache Iceberg V3 support on Amazon S3 Tables carries profound operational and financial implications for data-driven enterprises.
Reduced Total Cost of Ownership (TCO)
By replacing positional delete files with deletion vectors, enterprises eliminate the compounding storage bloat and aggressive CPU-burning compaction cycles that plagued large V2 deployments. Similarly, the introduction of the native variant data type cuts query-time CPU usage by eliminating the need to repeatedly parse massive text-based JSON blobs. These technical efficiencies translate directly into lower cloud compute bills and reduced storage footprints.
Simplified Governance and Compliance
Data privacy regulations such as GDPR and CCPA mandate the ability to reliably and efficiently purge user records upon request. V3’s deletion vectors make compliance purges fast and non-disruptive. Combined with built-in row lineage (_row_id), data governance teams gain absolute traceability over record lifecycles, simplifying audit trails and lineage tracking for regulatory bodies.
Seamless Migration Path
AWS has engineered the transition to be non-disruptive. Existing V2 tables can be upgraded in place with a single SQL command:
ALTER TABLE my_catalog.namespace.existing_table
SET TBLPROPERTIES ('format-version' = '3');
AWS provides backward compatibility, ensuring that existing V2 readers continue functioning smoothly on upgraded tables during transitional phases. (Architects should note, however, that upgrading to V3 is a one-way operation; the Iceberg specification does not support downgrading from V3 to V2, requiring organizations to verify that all interacting compute engines support V3 prior to execution).
Summary and Getting Started
With full support for Apache Iceberg V3 now live in all AWS regions supporting Amazon S3 Tables, organizations no longer need to compromise between the cost-efficiency of open data lakes and the high-performance operational capabilities of traditional databases.
Data engineering teams can begin experimenting with V3 features immediately at no additional charge beyond standard S3 Tables storage pricing. To get started, practitioners can access the official Amazon S3 Tables documentation, provision new table buckets directly from the Amazon S3 console, or utilize the AWS MCP Server and associated plugins to query documentation, check regional availability, and troubleshoot technical workflows using preferred AI-assisted development tools.

