Back to Devoured - June 04, 2026
DEVOURED
Routing Multiple Query Engines with Iceberg

Routing Multiple Query Engines with Iceberg

Data LakeOps
QueryFlux is an open-source Rust SQL proxy enabling intelligent, cost-aware routing across multiple Iceberg query engines like Trino, Spark, and DuckDB.
What: QueryFlux, a Rust-based SQL routing proxy, intelligently directs queries across various engines (Trino, Spark, DuckDB, Snowflake, Athena, Flink) sharing Apache Iceberg tables. It handles protocol translation, SQL dialect conversion via SQLGlot, cost-aware routing, concurrency, and health-based failover with ~0.35ms p50 overhead.
Why it matters: This tool addresses the growing complexity and cost inefficiencies in modern lakehouses where multiple query engines are used, demonstrating a trend towards specialized, optimized infrastructure layers for data management.
Takeaway: If you manage an Iceberg lakehouse with multiple query engines, consider deploying QueryFlux to optimize query performance and costs by automatically routing queries to the most suitable engine.
Deep dive
  • Problem: While Apache Iceberg enables multi-engine access to data, there's no inherent mechanism to choose the optimal engine for a given query, leading to suboptimal performance and cost.
  • Solution: QueryFlux acts as a SQL routing proxy, sitting between clients and engines, making intelligent routing decisions.
  • Architecture: It accepts queries via various protocols (Trino HTTP, PostgreSQL, MySQL wire), evaluates routing rules based on query type, client tags, or custom Python logic, then selects an engine.
  • Key Capabilities: Low latency (~0.35ms p50 overhead), per-group concurrency limits, SQL dialect translation using SQLGlot for over 30 dialects, custom Python scripting for advanced routing and translation, and Prometheus/Grafana observability.
  • LakeOps Extension: LakeOps (commercial offering) builds on QueryFlux by adding table-health-aware routing, query-pattern learning, optimization-driven engine expansion, and a unified cost model using Iceberg metadata and historical query data.
  • Routing Strategies: Supports cost-based, latency-based, and throughput (balanced) routing, applicable per cluster group.
  • Practical Patterns: Includes workload-scoped endpoints, cost-aware dispatch (up to 56% cost reduction in benchmarks), dashboard SLA protection, transparent engine migration using weighted strategies, and health-based failover.
  • AI Agents: Discusses a future "agentic workloads" stack using adaptive, LLM, and semantic routers for unpredictable agent-generated queries, with guardrails for safety.
Decoder
  • Apache Iceberg: An open table format for huge analytic datasets, providing ACID transactions, schema evolution, and hidden partitioning across multiple data processing engines.
  • SQLGlot: An open-source Python SQL parser and translator that can convert SQL between different dialects.
  • Lakehouse: A data architecture combining elements of data lakes (raw, unstructured data storage) and data warehouses (structured, optimized data for analytics) using technologies like Apache Iceberg.
  • Trino: An open-source distributed SQL query engine for running analytics against various data sources.
  • DuckDB: An in-process SQL OLAP database management system designed for analytical workloads on a single node.
  • Puffin statistics: Metadata stored within Iceberg tables that can include min/max column stats, bloom filters, and other information to help query engines optimize scans.
Original article

Full article content is not available for inline reading.

Read the original article →

Explore all 55 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi