2019ICDE-Presto: SQL on Everything

本文发表于2019年,但是presto从2013年开始就有了,2019年原作者从Facebook分道扬镳。有关这段爱恨情仇可以在trino官网(presto主流继承版本)中看到。本文的作者是presto的原作者,发表于2019年,此时presto已经是比较成熟完善的系统了,学习的价值更大。
Abstract
Presto是分布式查询引擎,支持SQL负载。既能承担亚秒级别的交互式查询,也要能支持几小时的ETL任务。
主要特性是:灵活、自适应、扩展性强(支持多个外部源,包括HDFS、RDBMS、NoSQL、流处理系统)。
I. INTRODUCTION
Presto作为交互式的查询引擎,从2013年诞生开始,已经在Facebook以及世界上众多大公司使用,以满足端上用户交互式查询分析的需求。它主要有以下特性:
- 多租户系统。要支持几百个查询并行;要有扩展性,能扩展到几千个节点去。
- 集成性。管理员可以设置集群,让它可以兼容多个外部数据源,甚至在一条SQL里用多个数据源。
- 灵活性。能应对各种工作负载。
- 高度优化。多个query可以共享一个JVM运行,当然这就需要调度、资源管理、隔离等。



