Presto
Presto is an open-source, distributed SQL query engine designed to run fast, interactive analytic queries against data of any size, spanning multiple data sources such as data lakes, relational databases, and NoSQL stores.
Definition
Presto is an open-source, distributed SQL query engine designed to run fast, interactive analytic queries against data of any size, spanning multiple data sources such as data lakes, relational databases, and NoSQL stores.
Overview
Presto was originally developed at Facebook to replace slower batch-oriented tools like Hive for interactive analytics over massive datasets. Unlike a traditional database, Presto separates query execution from storage: it does not store data itself but instead connects to external sources through connectors, letting a single SQL query join and aggregate data across systems such as a data lake, MySQL, Elasticsearch, or Hadoop/Hive in one federated query. Its architecture uses an MPP (massively parallel processing) model: a coordinator node parses and plans each query, then distributes execution across many worker nodes that process data in parallel and in memory, avoiding the disk-heavy intermediate steps common in older batch systems. This design lets Presto answer complex analytical queries over petabyte-scale data in seconds rather than minutes or hours. After Facebook open-sourced the project, its governance split into two related but separately maintained lineages: PrestoDB, stewarded by the Presto Foundation, and Trino (originally PrestoSQL), founded by some of Presto's original creators. Both remain popular choices for building a federated SQL layer across a modern data lakehouse, and are frequently used together with formats like Apache Iceberg.
Key Features
- Distributed, in-memory MPP query execution engine
- Federated SQL queries across multiple, disparate data sources
- Pluggable connector architecture for data lakes, databases, and more
- ANSI SQL compliance for familiar query syntax
- Designed for interactive, low-latency analytical queries
- Scales horizontally by adding worker nodes
- No built-in storage — queries data where it already lives