Jump to content

Presto (SQL query engine)

From Alfawiki
Presto
Company typeOpen-source software project
IndustrySoftware, Big data, Data management
Founded2012; 14 years ago (2012)
FounderMartin Traverso, Dain Sundstrom, David Phillips, Eric Hwang
Headquarters
United States
ProductsPrestoDB, PrestoSQL (now Trino)
Websiteprestodb.io

Presto—comprising PrestoDB and PrestoSQL, the latter now known as Trino—is a distributed SQL query engine designed for big data environments. It facilitates querying across a wide array of data repositories such as Hadoop, Cassandra, Kafka, AWS S3, Alluxio, MySQL, MongoDB, and Teradata. As an open-source project governed by the Apache License, Presto supports executing queries that span multiple data sources simultaneously and is maintained by a community of contributors.

History

Presto originated at Facebook, Inc. (currently Meta), created by Martin Traverso, Dain Sundstrom, David Phillips, and Eric Hwang to enhance the speed of interactive queries within Facebook’s extensive Hadoop data warehouse. The previous dependence on Apache Hive was insufficiently performant at Facebook’s scale. Development commenced in 2012, with the software becoming publicly available as open source in November 2013.

By 2014, organizations such as Netflix had adopted Presto to analyze petabyte-scale datasets stored on AWS S3. Amazon introduced Amazon Athena in 2016, a managed service built on Presto technology. In 2017, Teradata launched Starburst Data to commercialize support for Presto; Teradata’s QueryGrid enabled integration with Teradata databases through Presto.

The Presto Software Foundation was formed in January 2019 as a nonprofit entity to foster the open-source initiative. At this time, development diverged into two distinct projects: PrestoDB, maintained by Facebook, and PrestoSQL, overseen by the foundation. In September 2019, Facebook contributed PrestoDB to the Linux Foundation, establishing the Presto Foundation, though the original creators were not included in this organization.

By 2020, all founding developers had joined Starburst. That same year, due to trademark conflicts surrounding the name "Presto," PrestoSQL was rebranded as Trino. Additionally, Ahana was launched to provide commercial cloud services based on PrestoDB and was subsequently acquired by IBM in 2023.

Architecture

Presto employs an architecture resembling a database management system that leverages cluster computing or massively parallel processing (MPP). A central coordinator manages numerous worker nodes responsible for executing tasks in parallel. When clients submit SQL queries, these are parsed and optimized before distribution to workers that process data concurrently and deliver results. Unlike traditional Apache Hive implementations dependent on Hadoop’s MapReduce framework—which write intermediate outputs to disk—Presto processes data entirely in-memory, greatly enhancing performance. The engine is implemented in Java.

Through connectors, Presto enables querying across various data platforms including Alluxio, HDFS (data lakes), Amazon S3, MySQL, PostgreSQL, Microsoft SQL Server, Amazon Redshift, Apache Kudu, Apache Phoenix, Apache Kafka, Apache Cassandra, Apache Accumulo, MongoDB, and Redis. Unlike solutions restricted to specific Hadoop distributions such as Apache Impala, Presto functions with any Hadoop environment or independently of Hadoop altogether. It distinctly separates compute resources from storage and supports deployment both on-premises and in cloud environments.

See also

External links