| Presto | |
|---|---|
| Original authors | Martin Traverso, Dain Sundstrom, David Phillips, Eric Hwang |
| Initial release | 10 November 2013; 12 years ago (10 November 2013) |
| Written in | Java |
| Operating system | Cross-platform |
| Standard | SQL |
| Type | Data warehouse |
| License | Apache License 2.0 |
| Website | |

Presto (including PrestoDB, and PrestoSQL which was re-branded toTrino) is a distributed query engine forbig data using theSQL query language. Its architecture allows users to query data sources such asHadoop,Cassandra,Kafka,AWS S3,Alluxio,MySQL,MongoDB andTeradata,[1] and allows use of multiple data sources within a query. Presto is community-drivenopen-source software released under theApache License.
Presto was originally designed and developed atFacebook, Inc. (later renamed Meta) for their data analysts to run interactive queries on its largedata warehouse inApache Hadoop. The first four developers were Martin Traverso, Dain Sundstrom, David Phillips, and Eric Hwang.Before Presto, the data analysts at Facebook relied onApache Hive for running SQL analytics on their multi-petabyte data warehouse.[2]Hive was deemed too slow for Facebook's scale and Presto was invented to fill the gap to run fast queries.[3] Original development started in 2012 and deployed at Facebook later that year. In November 2013, Facebook announced its open source release.[3][4]
In 2014,Netflix disclosed they used Presto on 10petabytes of data stored in theAmazon Simple Storage Service (S3).[5] In November, 2016, Amazon announced a service calledAthena that was based on Presto.[6] In 2017,Teradata spun out a company called Starburst Data to commercially support Presto, which included staff acquired from Hadapt in 2014.[7] Teradata's QueryGrid software allowed Presto to access a Teradata relational database.[8]
In January 2019, the Presto Software Foundation was announced. The foundation is a not-for-profit organization for the advancement of the Presto open source distributed SQL query engine.[9][10] At the same time, Presto development forked: PrestoDB maintained by Facebook, and PrestoSQL maintained by the Presto Software Foundation, with some cross pollination of code.
In September 2019, Facebook donated PrestoDB to theLinux Foundation, establishing thePresto Foundation.[11] Neither the creators of Presto, nor the top contributors and committers, were invited to join this foundation.[12]
By 2020, all four of the original Presto developers had joined Starburst.[13]In December 2020, PrestoSQL was rebranded asTrino, since Facebook had obtained a trademark on the name "Presto" (also donated to the Linux Foundation).[14]
Another company called Ahana was announced in 2020 to commercialize the PrestoDB fork as a cloud service and was acquired byIBM in 2023.[15]
Presto's architecture is very similar to otherdatabase management systems usingcluster computing, sometimes calledmassively parallel processing (MPP). One coordinator works in sync with multiple workers. Clients submit SQL statements that are parsed and planned, following which parallel tasks are scheduled to workers. Workers jointly process rows from the data sources and produce results that are returned to the client. Compared to the originalApache Hive execution model which used the HadoopMapReduce mechanism on each query, Presto does not write intermediate results to disk, resulting in a significant speed improvement. Presto is written inJava.
A Presto query can combine data from multiple sources. Presto offers connectors to data sources including files inAlluxio,Hadoop Distributed File System (often called adata lake),Amazon S3,MySQL,PostgreSQL,Microsoft SQL Server,Amazon Redshift,Apache Kudu,Apache Phoenix,Apache Kafka,Apache Cassandra,Apache Accumulo,MongoDB andRedis. Unlike other Hadoop distribution-specific tools, such asApache Impala, Presto can work with any variant of Hadoop or without it. Presto supports separation of compute and storage and may be deployed on-premises or usingcloud computing.
{{cite web}}: CS1 maint: multiple names: authors list (link)