Skip to main content

Modern Data Lake on AWS (2026): S3 Tables, Iceberg Compaction, and Analytics Tier Reference Architecture

Cloud ArchitectureUpdated Palaniappan P3 min read

Quick summary: For an enterprise lake (~38 TB Iceberg, 8.4k small files), S3 Tables managed compaction cut Athena scan spend 35%, and compaction OPEX is 90% lower than under pre-July 2025 pricing on the same workload.

Key Takeaways

  • Amazon S3 Tables reduced compaction costs up to 90% effective July 1, 2025, with default 512 MB target files and optional sort and z-order strategies (What's New, sort/z-order GA)
  • AWS Glue 5.1 ships Spark 3.5
  • 6, Iceberg 1.10+, and Lake Formation fine-grained write controls (Glue 5.1 GA)
  • It is separate from the legacy S3+Glue primer, the governance operating model, and the retail omnichannel lakehouse
  • Benchmark pattern (not a cited client): Enterprise analytics lake, 38 TB Iceberg curated, 8,400 files averaging 12 MB, promotion-week queries
Modern Data Lake on AWS (2026): S3 Tables, Iceberg Compaction, and Analytics Tier Reference Architecture
Table of Contents

Amazon S3 Tables reduced compaction costs up to 90% effective July 1, 2025, with default 512 MB target files and optional sort and z-order strategies (What’s New, sort/z-order GA). AWS Glue 5.1 ships Spark 3.5.6, Iceberg 1.10+, and Lake Formation fine-grained write controls (Glue 5.1 GA).

This post is the horizontal modern data lake reference architecture: ingest, curated Iceberg, catalog, consumption. It is separate from the legacy S3+Glue primer, the governance operating model, and the retail omnichannel lakehouse.

Artifacts: lake tier matrix, compaction cost worksheet, ingest partition checklist.

Four tiers from raw to consume

TierQuestionDefault AWS path
LandingImmutable raw?S3 raw/ + Object Lock if required
CuratedACID tables?S3 Tables Iceberg + managed maintenance
CatalogDiscovery + ETL?Glue 5.1 Data Catalog
ConsumeWho queries?Athena + Redshift Spectrum / QuickSight

Opinionated take: Turn on S3 Tables maintenance before hiring a compaction squad. Teams that manually compact 8k-file tables every weekend burn platform budget that July 2025 pricing was meant to eliminate.

Reference architecture

Sources ──► Glue 5.1 / Firehose ──► S3 raw ──► Glue Spark job ──► S3 Tables (Iceberg)
                                                      │
                                              Glue Data Catalog
                                                      │
                                    ┌─────────────────┴─────────────────┐
                                    ▼                                   ▼
                                 Athena                            Redshift Spectrum
                                    │
                              QuickSight / SageMaker
Lake Formation ──► column/table tags ──► FGAC on read + write (Glue 5.1)

Tier 1: Landing

Follow ingest-partition-checklist.md:

  • Partition on day(event_ts), not high-cardinality IDs
  • Schema evolution tracked in Glue

Tier 2: S3 Tables maintenance

Per S3 Tables maintenance docs:

  • Default compaction 512 MB target (64 to 512 configurable)
  • Strategies: auto, binpack, sort, z-order
  • Snapshot expiry: default MaximumSnapshotAge 120 hours; align with legal hold
# AWS CLI — set sort compaction when table sort order defined (Glue 5.1 + S3 Tables)
aws s3tables put-table-maintenance-configuration \
  --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket \
  --type icebergCompaction \
  --namespace analytics \
  --name events_curated \
  --value='{"status":"enabled","settings":{"icebergCompaction":{"strategy":"sort","targetFileSizeMB":256}}}'

Tier 3: Glue 5.1 catalog and ETL

  • Spark 3.5.6, Iceberg format v3 features where needed
  • Lake Formation write FGAC on INSERT/overwrite
  • Link stewardship to governance operating model

Tier 4: Consumption

When NOT to escalate

SituationStay lighter
< 500 GB totalHive external tables + weekly batch
Single team, no ACID mergesParquet on S3 may suffice
No LF adminFix IAM sprawl before FGAC project

What to do this week

  1. Run lake-tier-decision-matrix.md.
  2. Audit file count and average size. If you have more than 1,000 files under 32 MB, enable compaction.
  3. Reprice iceberg-compaction-cost-worksheet.csv.
  4. Upgrade Glue jobs to 5.1 and test LF write on staging table.
  5. Complete ingest-partition-checklist.md before next major ingest.

What this post doesn’t cover

  • Real-time streaming lake: Kinesis/Flink path (see event throughput post)
  • DataZone business catalog UX: governance post covers stewardship
  • Cross-account Lake Formation shares: sharing guide
  • Mainframe CDC: partner tooling

We have not tested z-order compaction on tables without declared sort order. Per AWS docs, sort metadata is a prerequisite for enabling sort/z-order.

Related: Data analytics services · SageMaker services · Data governance post

Frequently asked questions

When should we adopt S3 Tables vs self-managed Iceberg on S3?
S3 Tables when you want managed compaction, snapshot expiry, and unreferenced file removal without a platform SRE team. Self-manage only when you need custom compaction schedules Glue cannot express or a regulatory hold on snapshot deletion policies.
When should we NOT move to Iceberg yet?
When consumers are CSV-only and full scans cost under $5, external Hive tables may suffice until join complexity or ACID merges appear.
Glue 5.0 vs 5.1 for new lakes?
Default 5.1 (Spark 3.5.6, Iceberg 1.10+, Iceberg v3 features, LF write FGAC). 5.0 only if your region lacked 5.1 at cutover; check the April 2026 GA notice.
How does this differ from the data governance operating model post?
Governance post covers stewardship RACI and SageMaker Catalog on DataZone. This post is the storage + maintenance + query tier wiring for Iceberg lakes.
What breaks with too many small Iceberg files?
Athena planning time and scan cost explode. The symptom is the same query costing 3× after bad daily loads. Fix: enable compaction or lower ingest batch size.
Does retail lakehouse replace this pattern?
No. The retail post covers CDP/omnichannel event shapes. This post covers horizontal enterprise lake tiers any industry can reuse.
Palaniappan P
Palaniappan P

AWS Cloud Architect & AI Expert

AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.

AWS ArchitectureCloud MigrationGenAI on AWSCost OptimizationDevOps

Recommended Reading

Explore All Articles »