1.1. Use Cases

This section puts Presto into perspective so that prospectiveadministrators and end users know what to expect from Presto.

What Presto Is Not

Since Presto is being called a database by many members of the community,it makes sense to begin with a definition of what Presto is not.

Do not mistake the fact that Presto understands SQL with it providingthe features of a standard database. Presto is not a general-purposerelational database. It is not a replacement for databases like MySQL,PostgreSQL or Oracle. Presto was not designed to handle OnlineTransaction Processing (OLTP). This is also true for many otherdatabases designed and optimized for data warehousing or analytics.

What Presto Is

Presto is a tool designed to efficiently query vast amounts of datausing distributed queries. If you work with terabytes or petabytes ofdata, you are likely using tools that interact with Hadoop and HDFS.Presto was designed as an alternative to tools that query HDFSusing pipelines of MapReduce jobs such as Hive or Pig, but Prestois not limited to accessing HDFS. Presto can be and has been extendedto operate over different kinds of data sources including traditionalrelational databases and other data sources such as Cassandra.

Presto was designed to handle data warehousing and analytics: data analysis,aggregating large amounts of data and producing reports. These workloadsare often classified as Online Analytical Processing (OLAP).

Who uses Presto?

Presto is an open source project that operates under the auspices ofFacebook. It was invented at Facebook and the project continues tobe developed by both Facebook internal developers and a number ofthird-party developers in the community.