Presto
Presto is an open-source, distributed SQL query engine designed for interactive and analytical workloads on data ranging from gigabytes to petabytes.
Publisher review
Presto is an open-source, distributed SQL query engine designed for interactive and analytical workloads on data ranging from gigabytes to petabytes. Originally developed by Meta (formerly Facebook) in 2013, it was open-sourced and donated to the Linux Foundation in 2019, where it is now governed by the Presto Foundation with contributions from Meta, Uber, IBM, ByteDance, and others. Presto executes queries in-memory across diverse data sources—data lakes, warehouses, NoSQL stores, and cloud services—without moving data, using a plugin architecture with 30+ connectors including Iceberg, Delta Lake, Hudi, BigQuery, PostgreSQL, ClickHouse, Kafka, and Elasticsearch.
The engine operates as a distributed system with a coordinator node and worker nodes, optimized for sub-second latency on interactive analytics and multi-hour batch ETL. Meta's production Presto cluster processes over 30,000 queries daily on one petabyte of data, handled by 1,000+ employees. Recent development has focused on the Native Engine (Prestissimo), a C++ reimplementation targeting higher performance and TPC-DS benchmark improvements.
Presto remains stable and conservative, with regular releases but slower velocity than its fork, Trino, which diverged in 2018 and prioritizes rapid feature development and fault-tolerant batch execution. Presto suits organizations that value stability and established community patterns over cutting-edge features.
How it works
-
Multi-source SQL federation
Query 30+ data sources (Iceberg, Delta, Hudi, BigQuery, PostgreSQL, Kafka, Elasticsearch, etc.) with standard ANSI SQL without copying data.
-
In-memory distributed execution
Distributed query processing across worker nodes with in-memory hash-based joins and aggregations for rapid interactive analytics.
-
Interactive and batch workloads
Handles both sub-second interactive queries and multi-hour ETL jobs with the same SQL engine; fault-tolerant batch mode is limited compared to Trino.
-
Dynamic filter and adaptive execution
Optimizes execution plans at runtime; join operators can push filters down to source systems to reduce data scanning.
-
Extensible plugin architecture
Custom connectors and user-defined functions can be written in Java; 2025 roadmap adds simpler plug-in extensibility for scalar and aggregate functions.
-
Native C++ engine (Prestissimo)
New query execution layer written in C++ for improved performance; currently in beta, targeting 25–36% speedup over Java implementation.
-
Cost-based query optimization
Rule-based and cost-based optimizer uses table statistics and connector hints to generate efficient execution plans.
Strengths and trade-offs
Strengths
- Proven at scale: Meta's production deployment handles 30,000+ queries per day on petabyte-scale data; battle-tested by Uber, Twitter, Netflix, Alibaba.
- Open governance and stability: Linux Foundation project with broad community; conservative release cadence prioritizes reliability over rapid feature churn.
- Rich connector ecosystem: 30+ official connectors and extensibility for custom sources; seamless federation across heterogeneous systems.
Trade-offs
- Memory pressure on operators: Join and aggregate operators are memory-intensive; queries frequently hit per-worker memory limits on large joins. Asynchronous memory tracking causes non-deterministic query failures when memory is exceeded.
- Slower innovation than Trino: Since 2018 fork, Presto development velocity is ~1/3 that of Trino; Trino outperforms Presto 25–36% on benchmarks and has additional connectors, fault-tolerant batch mode, and better ETL support.
- Limited batch ETL capabilities: Presto is optimized for ad-hoc analytics; lacks fault-tolerant task retry and spill-to-disk for large ETL pipelines—use Trino or Spark for production ETL that requires resiliency.
Pricing context
Presto is entirely open-source under the Linux Foundation and free to deploy, with no license fees or usage-based charges. Organizations self-host Presto on their own infrastructure or cloud. Commercial support and managed services are available from Ahana (founded 2020, VC-backed) via Ahana Cloud for PrestoDB, which offers a managed SaaS variant with monitoring, autoscaling, and enterprise support; Ahana's pricing is not publicly disclosed but follows a tiered subscription model based on compute usage and team size.
Additional vendors like Starburst (which maintains the Trino fork) offer commercial distributions and consulting. The upstream Presto Foundation does not charge for governance or technical guidance.
Alternatives
User reviews
No user reviews yet. Be the first to write one.
Sources
Reporting on this tool draws on these publicly available sources.
- prestodb.io — Overview of Presto as Linux Foundation project, key features, and community (16.5K GitHub stars, 5,000+ developers)
- prestodb.io — Complete connector list (30+ integrations), configuration, and operational documentation
- research.facebook.com — Original 2013 Facebook research paper introducing Presto architecture and design rationale
- www.starburst.io — Detailed comparison of PrestoDB vs Trino (PrestoSQL); fork history, development velocity, and feature differences
- prestodb.io — Memory management architecture and memory pool mechanisms in Presto
- prestodb.io — 2025 roadmap: Native C++ engine (Prestissimo) development status, performance targets, and extensibility improvements
- dl.acm.org — Meta's 2023 research paper 'Presto: A Decade of SQL Analytics at Meta' detailing scale of deployment and production learnings
- techtarget.com — Ahana founding and commercial Presto Cloud service offering