PrestoDB
By the Presto Foundation (Linux Foundation)
PrestoDB is an open-source distributed SQL query engine designed to run interactive analytical queries across data of any size, federating access to multiple data sources — HDFS, object storage, relational databases, and more — through a…
Definition
PrestoDB is an open-source distributed SQL query engine designed to run interactive analytical queries across data of any size, federating access to multiple data sources — HDFS, object storage, relational databases, and more — through a single SQL interface without moving the data first. It is the original Presto project created at Facebook, and it is the predecessor project from which Trino (formerly PrestoSQL) later forked.
Overview
Organizations often store data across many disconnected systems — a data lake on object storage, several relational databases, a message queue — and traditional approaches require copying all of it into one warehouse before it can be queried together. PrestoDB was built at Facebook to remove that step, acting as a distributed SQL query engine that connects directly to many data sources through pluggable connectors and lets analysts run a single federated query across them. Mechanically, Presto splits an incoming SQL query into stages and tasks distributed across a cluster of worker nodes, each of which reads data through the connector for its particular source — reading Parquet or ORC files from HDFS or object storage, or pushing filters down into a relational database — and processes it in memory using a pipelined, massively parallel execution model rather than writing intermediate results to disk between stages, which is what gives it low-latency, interactive query performance compared to older MapReduce-based engines like Hive. Within the SQL-on-anything category, Presto's closest relative is its own fork, Trino, since the two projects share the same origins and much of the same architecture; they diverged after a governance disagreement, with the original contributors moving to what became Trino while Facebook continued PrestoDB under its own foundation. Compared to Hive, Presto trades some fault-tolerance for very large batch jobs in exchange for much faster interactive query response times, making it better suited to ad hoc analysis than long-running ETL. In practice, organizations use PrestoDB to let analysts and BI tools query data lakes and multiple databases through one SQL endpoint, often as the query layer behind internal analytics dashboards where data spans several storage systems that would otherwise each require separate query tools. Facebook itself has historically run Presto at very large scale internally for exactly this kind of federated, interactive analytics. PrestoDB's trade-offs mirror the category it belongs to: as an in-memory query engine, a single node running out of memory can fail a large query rather than gracefully spilling to disk in every case, and it is not intended for long-running batch ETL or heavy write workloads, since it has no native storage layer of its own and depends entirely on the systems its connectors reach into. Teams needing guaranteed completion of very large batch jobs, or a single system that also handles writes and transactions, typically pair Presto with a separate batch engine like Spark rather than relying on it alone.
Key Features
- Pluggable connectors for querying HDFS, object storage, and databases
- In-memory, pipelined execution avoiding disk writes between stages
- Federated SQL queries spanning multiple heterogeneous data sources
- Massively parallel processing across distributed worker nodes
- Interactive query latency suited to ad hoc analytical workloads
- Origin project of Facebook, governed today by the Presto Foundation