At a high level, a query engine is a piece of software that sits on top of a database or server and executes queries against data in that database or server to provide answers for users or applications.

More specifically, a SQL query engine interprets SQL commands and language to access data in relational systems. Many use SQL query engines for CRUD (create, read, update, delete) operations and enforce data policies that relational data models and database management systems require.

There are many benefits of using a query engine. For starters, you can bring a query engine to your data instead of having to move your data somewhere else. A distributed SQL query engine will allow you to query data from a variety of data sources like Hadoop, AWS S3, NoSQL, MySQL, and more, or data from multiple data sources within a single query.

Examples of query engines include Presto, Apache Drill, Cloudera Impala, and Apache Spark.

Additional Resources

Introduction to Presto and Commonly Asked Questions

An Introduction to the Presto Architecture

Try a 10 min tutorial on executing Presto queries