The data lakehouse war is heating up, and the battlefield has shifted from philosophical debates to hard numbers. We ran a comprehensive 1TB TPC-H benchmark pitting Apache Iceberg against Databricks Delta Lake, and the results reveal a stark trade-off: managed convenience versus raw performance and cost savings.
The Setup: An Uncomfortable Comparison
Before diving into the numbers, let’s acknowledge the elephant in the room: this comparison makes some data engineers uncomfortable. As one Reddit commenter pointed out, Databricks now supports both Delta Lake and Iceberg natively, blurring the lines in what was once a clearer format war.
But here’s the reality: most organizations aren’t choosing between table formats in isolation, they’re choosing between architectural philosophies. Databricks represents the tightly integrated, managed platform approach, while Iceberg embodies the open, federated ecosystem model.
Our benchmark tested both approaches end-to-end:
Dataset: 1TB TPC-H (8.66 billion rows across 8 tables)
Iceberg Setup: PostgreSQL → OLake → S3 Iceberg tables → AWS Glue catalog → EMR Spark
Databricks Setup: PostgreSQL JDBC → Delta Lake → Databricks Runtime
Both environments used equivalent hardware: 32 vCPU, 128GB RAM configurations with similar cluster profiles. We ran all 22 TPC-H queries sequentially to measure real-world analytical performance rather than optimized benchmarks.
The Ingestion Surprise: Two Worlds Apart
The first shock came during data loading. Moving 8.66 billion rows from PostgreSQL revealed fundamentally different approaches to data movement.
Databricks: The Sequential Struggle
Using a single JDBC connection with 200K-row batches, Databricks took 25.7 hours to complete the transfer. The conservative approach prioritized stability over throughput, but at a significant time cost.
# Databricks used this JDBC approach with fixed batch sizes
JDBC_PROPS = {
"driver": "org.postgresql.Driver",
"fetchsize": "200000" # single-stream batches
}
Memory utilization stayed conservative at 46-93 GB, but CPU usage hovered near 0%, clear evidence of I/O bottlenecks rather than processing limitations.


Iceberg + OLake: Parallel Processing Power
The open-source stack delivered 2.1x faster ingestion, completing in just 12 hours. OLake’s parallel chunked ingestion with 32 threads maintained 93% average CPU utilization and processed data consistently at high throughput.
The operational difference was equally striking. While Databricks required extensive Python scripting for data movement, OLake offered a point-and-click interface, what one engineer described as “the kind of setup where you can watch a movie and eat pizza while the data moves.”
Transfer Comparison:
| Dimension | Databricks | OLake |
|---|---|---|
| Transfer Time | 25.7 hours | ~12 hours |
| Transfer Cost | ~$39 | ~$20 |
| Operational Comfort | Tedious | Extremely Simple |
Query Performance: Where Open Source Shines
With data loaded, we executed all 22 TPC-H queries. The results defied expectations:
- Databricks Total Time: 11,163.94 seconds (186.07 minutes)
- Iceberg Total Time: 9,132.47 seconds (152.21 minutes)
- Overall Improvement: Iceberg finished 18.2% faster

But the performance story gets more interesting when we break it down by query category:

Query Category Breakdown:
| Query Category | Databricks | Iceberg | Conclusion |
|---|---|---|---|
| Simple Aggregations (Q1, Q6) | 10.18 minutes | 4.29 minutes | Iceberg 57.9% faster |
| Complex Multi-Table Joins (Q5, Q7, Q8, Q9) | 11.95 minutes | 10.73 minutes | Iceberg 10.2% faster |
| Subquery-Heavy Analytics (Q2, Q11, Q17, Q20) | 9.48 minutes | 3.76 minutes | Iceberg 60.3% faster |
| Group By & Aggregations (Q3, Q4, Q10, Q12, Q13) | 5.55 minutes | 5.56 minutes | Databricks 0.2% faster |
| Ordering & Top-N Queries (Q15, Q18, Q21) | 15.33 minutes | 15.84 minutes | Databricks 3.3% faster |
The pattern is clear: Iceberg dominates complex analytical workloads while Databricks holds marginal advantages in simpler operations. This aligns with Iceberg’s design philosophy, optimized for analytical scale rather than transactional simplicity.
The Real Story: Cost Savings That Add Up
Performance numbers are compelling, but cost differences are staggering. The open-source stack delivered both speed AND significant savings:
Total Benchmark Costs:
- Databricks Total: $50.71 ($39 data transfer + $11.68 query execution)
- Iceberg + OLake Total: $21.95 ($20 data transfer + $1.95 query execution)
- Savings: 57% cheaper with Iceberg
Extrapolate these numbers to production workloads, and the financial impact becomes undeniable:
| Platform | Daily Cost | Monthly Cost | Yearly Cost |
|---|---|---|---|
| Databricks | $56.33 | $1,689.90 | $20,278.80 |
| Iceberg | $21.95 | $658.50 | $7,902.00 |
Annual savings with Iceberg: $12,376.80, and that’s assuming you’re running this exact benchmark daily. Real-world production savings could be substantially higher.

Memory utilization patterns told a similar efficiency story. Iceberg maintained stable usage while delivering better performance, suggesting more optimal resource allocation.
The Open Core Reality Check
Before declaring a winner, let’s acknowledge the trade-offs. Databricks’ managed experience offers genuine value: cluster setup, Spark tuning, and governance are handled automatically. For teams without deep infrastructure expertise, this operational simplicity can outweigh raw performance metrics.
However, the open-source ecosystem is maturing rapidly. Tools like OLake demonstrate that the complexity gap is narrowing, while the performance and cost advantages are widening.
One critical detail often overlooked: our Iceberg setup had to disable vectorized reading due to an Arrow buffer allocation issue, meaning these results could potentially be even better with full optimization.
Architectural Implications
The performance differences stem from fundamental architectural choices:
Databricks: Tightly integrated platform where every component is optimized to work together. Think Formula 1 racing team, custom-built perfection with premium pricing.
Iceberg: Federated approach that achieves performance through open standards and intelligent metadata management. More like a well-oiled machine built from best-of-breed components.
This aligns with broader industry observations. While Iceberg offers excellent multi-engine compatibility, Onehouse research shows Apache Iceberg consistently trails behind as the slowest of the major table format projects in performance benchmarks, a finding our benchmark directly contradicts.
The Future: Hybrid Approaches Emerging
The battle lines are blurring. Databricks now supports Iceberg v3 natively, acknowledging the format’s ecosystem advantages. Meanwhile, tools like OLake are maturing to the point where open-source stacks can compete on operational simplicity.
The real winner might be neither pure approach, but rather hybrid architectures that leverage the strengths of both worlds. Databricks for managed simplicity where cost isn’t prohibitive, Iceberg for performance-critical workloads and multi-engine environments.
The Bottom Line: Know Your Use Case
Our benchmark reveals that the choice between Iceberg and Delta Lake isn’t about technical superiority, it’s about organizational priorities.
Choose Databricks Delta Lake if:
– Your team values operational simplicity over cost optimization
– You’re already invested in the Databricks ecosystem
– Your workloads are simple aggregations and ordering queries
– You prefer a single-vendor solution with integrated support
Choose Apache Iceberg if:
– Performance and cost efficiency are primary concerns
– You need multi-engine compatibility (Spark, Trino, Flink, etc.)
– Your workloads involve complex joins and analytical processing
– You have infrastructure expertise to manage the stack
– Vendor lock-in concerns outweigh managed convenience
The data speaks for itself: Iceberg delivered 18% faster query performance at 57% lower cost. But the operational comfort of Databricks’ managed platform has real value that can’t be ignored.
The open core dilemma isn’t going away, but it’s becoming increasingly quantifiable. As one engineer noted in the Reddit discussion, “Databricks still wins on ease-of-use: you just click and go.” But for teams willing to handle “a bit more complexity”, the open-source stack offers compelling advantages that translate directly to the bottom line.
In the lakehouse architecture wars, there are no universal winners, only well-informed choices based on your specific constraints and priorities. The question isn’t which platform is better, but which trade-offs align with your business reality.
