Presto

While they share similarities, there are differences between Trino and Presto, such as the development community, features, and performance optimizations. It’s important to consider your specific use case and requirements when choosing between these query engines to determine which one is the best fit for your needs.

Presto vs Trino: History

Presto, Formerly PrestoDB

Presto is the name of the query engine originally developed by Martin Traverso, Dain Sundstrom, David Phillips, and Eric Hwang at Facebook in 2012. Hive map reduce jobs were taking too long at Facebook’s scale, and Presto was created as a massively-parallel processing query engine that could turn 12+ hour SQL queries into queries that only took minutes or seconds.

Over the next several years, Presto expanded to cover a wide range of data sources, serving any database, data warehouse, or data lake, and able to easily integrate with BI tools. Being built as a SQL engine meant that data scientists and analysts using Presto could tap into their existing skills.

Trino, Formerly PrestoSQL

In 2018, Martin, Dain, and David left Facebook to create a fork of Presto which could better serve the open source community instead of just Facebook. The fork was initially called PrestoSQL, but they later rebranded to Trino in 2020.

While Presto was primarily developed at Facebook and Uber to serve hyper-scale internet companies, Trino was expanded on to serve a much broader variety of customers and use cases, while still including those hyper-scale web companies. Companies like Amazon, LinkedIn, Lyft, Netflix, Salesforce, Condé Nast, Goldman Sachs, and FINRA use Trino, among thousands of others.

Presto vs Trino: Features

Both Presto and Trino feature the same core ANSI SQL-compliant query engine. Their architecture is identical, and the two engines can be used in place of each other for most lightweight analytics workloads. However, there are several key differences and features unique to each query engine that are worth knowing about.

Presto Formerly PrestoDB

  • Presto on Spark, allowing users to use Spark as an execution framework for Presto queries.
  • Vector acceleration for the Hive connector, speeding things up when querying Hive.

Trino, Formerly PrestoSQL

  • A substantially larger number of minor performance improvements and fixes, all of which have added up to a significant performance edge over time.
  • Fault-tolerant execution mode for handling batch and ETL/ELT jobs with high reliability.
  • Table functions for making it easier to write powerful queries, or for running syntax native to connectors.
  • Dynamic filtering to speed up queries that contain JOINs.
  • Expanded SQL support for keywords like MERGE, as well as dozens of extra functions.
  • Variable-precision temporal types, with precision down to picoseconds, which can be very important for any time-critical systems such as financial transactions processing

Which is a better query engine?

We’re not going to mince words. In our opinion, Trino is the superior query engine. Since the two projects were forked, Trino’s development has been going at roughly thrice the pace of Presto’s, and it shows. It runs faster and serves a much wider variety of use cases. If your existing tech stack heavily relies on Spark and Hive for all things data, it may make sense to use Presto. For all other situations, Trino is the better, more versatile, more powerful option.

A few sprinkles on top: if you are using Hive, Trino has a built-in procedure to migrate your Hive tables to Apache Iceberg, allowing you to easily modernize your data stack and reap the performance and cost benefits. Some users who’ve already gone through with migrating have seen certain queries execute 95% faster.

Meet the creators of Trino (Formerly, PrestoSQL)

Martin Traverso

Creator of Presto, Creator of Trino, Co-Founder of the Trino Software Foundation, and CTO at Starburst. Prior to Starburst, Martin worked as a Software Engineer at Facebook, and a Software Architect at Proofpoint and Ning.

Dain Sundstrom

Creator of Presto, Creator of Trino, Co-Founder of the Trino Software Foundation, and CTO at Starburst. Prior to Starburst, Dain was a Software Engineer at Facebook, a Software Architect at Proofpoint, founded the Apache Geronimo project, and was one of the original JBoss authors.

David Phillips

Creator of Presto, Creator of Trino, Co-Founder of the Trino Software Foundation, and CTO at Starburst. Prior to Starburst, David was a Software Engineer at Facebook, and held senior engineering positions at Proofpoint, Ning and Adknowledge.