Apache Iceberg logo

Iceberg Compaction

Autonomous, query-driven
Iceberg compaction

LakeOps learns from your actual production queries and physically reorganizes data to match how it's read. Triggered autonomously on events, policies, or manually — and 95% faster than Spark.

95%Faster compaction
12×Faster queries
80%Cost reduction
Query-drivenCompaction

Runs on your stack

AWS
Azure
Google Cloud
Snowflake
Databricks
Apache Flink
Apache Hadoop
Apache Iceberg
Delta Lake
Spark
Lakekeeper
StarRocks
AWS
Azure
Google Cloud
Snowflake
Databricks
Apache Flink
Apache Hadoop
Apache Iceberg
Delta Lake
Spark
Lakekeeper
StarRocks

Not just faster compaction —
smarter compaction

The only compaction engine that learns from your queries, runs autonomously, and delivers 95% faster performance than Spark.

Query-driven

Learns which columns your queries filter, join, and group by — then physically sorts data to match. Engines skip irrelevant files at read time.

51% less data scanned

Autonomous

Triggered by events, governed by policies, or run manually. No cron jobs, no Spark clusters — compaction happens as part of automated maintenance.

Zero manual intervention

95% faster

Purpose-built Rust engine with Apache DataFusion. No JVM, no GC pauses, no OOM. TB-scale tables compacted in minutes — fast enough to run continuously.

221s vs 1,612s (Spark)

Pillar 1

Compaction that learns from your queries

LakeOps continuously observes which columns appear in WHERE, JOIN, and GROUP BY clauses across all engines hitting each table. During compaction, data is physically re-sorted by those columns — so Parquet row-group min/max statistics become effective and engines skip irrelevant data without reading it.

The result: drastically less I/O per query, faster response times, and lower compute costs — automatically, without anyone configuring sort keys manually.

  • 51% less data scanned — sorted by real production filter columns
  • 47,000 → 280 files: same data, query drops from 52s to 5.8s
  • Self-improving: sort strategy evolves as query patterns change
  • Per-table optimization — every table gets its own sort order
Query-Aware Sort12× faster queries

Files before

47,000

Files after

280

Query before

52s

Query after

5.8s

Scan volume reduced 51%

Sorted by actual WHERE/JOIN columns

Pillar 2

Runs autonomously — or on your terms

Compaction in LakeOps isn't a nightly batch job. It's an autonomous process that responds to your lakehouse in real time — triggered by catalog events, governed by policies you define, or kicked off manually when you need it.

  • Event-driven: auto-triggers on new commits, partition updates, or threshold breaches
  • Policy-based: define SLAs per table — file count, size targets, freshness windows
  • Manual override: one-click compaction for any table, partition, or namespace
  • Part of maintenance automation: chains with snapshot expiry, orphan cleanup, manifest rewrite
Trigger ModesAutonomous

Event-driven

On new commits or threshold breach

Active

Policy-based

SLA targets per table / namespace

Active

Scheduled

Cron-like windows if preferred

Optional

Manual

One-click for any table or partition

Always

Pillar 3

95% faster — built on Rust & DataFusion

No JVM. No garbage collection pauses. No OOM crashes. LakeOps compaction is a purpose-built Rust binary powered by Apache DataFusion — the same query engine behind Apache Arrow and InfluxDB 3.0. It's fast enough to run continuously, so tables never degrade between maintenance windows.

  • 221s vs 1,612s (Spark) vs 6,300s (S3 Tables) on identical 200 GB dataset
  • 2,522 MB/s peak throughput — TB-scale tables compacted in minutes
  • Bounded memory: spills to disk gracefully, no OOM regardless of table size
  • Zero-copy Arrow columnar format — no serialization between stages
200 GB Benchmark95% faster
AWS S3 Tables
6,300s
Apache Spark
1,612s
LakeOps (sort)
780s
LakeOps
221s

200 GB / 600M rows, Parquet, partitioned by date

Production benchmarks

5.5 TB across 10 production tables

Real workloads. Real data. Batch, streaming, delete-heavy, and multi-writer tables — same engine, same hardware.

101K → 19K
files (81% reduction)
2,522 MB/s
peak throughput
95%
faster than Spark
8x
faster queries
TableSizeWorkloadFiles (B → A)ThroughputTime
balance_snapshots1,192 GBTB-Scale batch11,9573,2701,572 MB/s11 min
events_analytics484 GBDelete-Heavy16,1287,198729 MB/s11m 21s
raw_sdk_events8 GBStreaming42,63369167 MB/s138s
site_traffic292 GBMulti-Writer2,7407541,465 MB/s3m 25s

Compaction speed

200 GB benchmark (seconds)

LakeOps221s
Spark1,612s

95% faster

Cost per TB

Normalized to Spark = 100%

LakeOps$5/TB
Spark$50/TB

90% cheaper

Query time

Avg. query latency after compaction

After1.5s
Before12.1s

8x faster queries

Beyond file compaction

Full metadata optimization in one pass

Every compaction cycle also optimizes manifests, applies delete files, and computes statistics — so query planning and execution stay fast at any scale.

Rewrite Manifests

200+ → ~30, faster planning

Apply Deletes

Zero read-time reconciliation

Puffin Statistics

Aggressive file-level pruning

Expire Snapshots

Reclaim orphaned storage

Comparison

Why not just use Spark?

Spark was built for batch ETL, not continuous table maintenance. It works — but at 7× the time, 10× the cost, and with operational complexity that blocks continuous optimization.

SparkAWS S3 TablesLakeOps
200 GB compaction1,612s6,300s221s
Peak throughput~350 MB/s~32 MB/s2,522 MB/s
Memory modelJVM heap + GCManagedBounded (no OOM)
Query-aware sortManual configNoAutomatic
Trigger modelCron / manualBackgroundEvents + policies
InfrastructureCluster requiredManagedServerless

Benchmark: 200 GB / 600M rows, Parquet, partitioned by date. Same hardware, same data, same target file size.

Part of the platform

Compaction in context

In LakeOps, compaction is one step in a coordinated maintenance pipeline — automatically paired with observability, governance, query routing, and cost optimization in a single control plane.

Compaction

Observability

Governance

Query Routing

Cost Optimization

AI Readiness

Get started

See compaction in action

Connect your catalog and get a free compaction analysis in 10 minutes — see exactly which tables need attention, how much compute you can save, and what query speedup looks like on your workload.

No commitment · Typically 30 min