Presto:基于内存的OLAP查询引擎



1、Presto概述

1.1、Presto背景


Facebook的数据仓库存储在少量大型Hadoop/HDFS集群。Hive是Facebook在十几年前专为Hadoop打造的一款数据仓库工具。在以前,Facebook的科学家和分析师一直依靠Hive来做数据分析。Hive使用MapReduce作底层计算框架,是专为批处理设计的

随着数据源的多样化、数据仓库的不断扩展以及数据湖的发展,使用Hive及时获得有用的见解可能变得困难。例如使用Hive进行一个简单的数据查询可能需要花费几分钟甚至几小时,这显然不能满足企业级交互式查询的需求

于是Facebook调研了其他比Hive更快的工具,但它们要么在功能有所限制,要么就太简单,以至于无法操作Facebook庞大的数据仓库

在Facebook试用了一些外部项目但都不合适后,2012年秋季,他们决定自己开发,Presto应运而生

2013年,Facebook正式宣布开源Presto。2015年,Netflix展示了Presto实际上比Hive快10倍,在某些情况下甚至更快

Hive的问题主要在于它将MapReduce查询的中间结果存储在磁盘上,这会导致在磁盘间产生大量的I/O开销。Presto凭借其新的架构和内存引擎,将显着降低其延迟和查询速度,从而允许更多的交互式查询

Presto的用例范围从交互式即席查询到长时间运行的批量ETL管道,使其能够灵活地适应各种数据驱动的用例和应用程序

1.2、什么是Presto


Presto是由FaceBook开源的一个MPP SQL引擎,主要用来解决Facebook海量Hadoop数据仓库的高延迟交互分析问题

Facebook版本的Presto更多的是以解决企业内部需求功能为主,也叫PrestoDB,版本号以0.xxx来划分,例如目前的最新版本0.284版本

后来,Presto其中的几个人出来创建了更通用的Presto分支,取名PrestoSQL,版本号以xxx来划分,例如315版本,这个开源版本也是更为被大家通用的版本

为了更好的与Facebook的Presto进行区分,PrestoSQL于2020年12月27日改名为Trino,除了名字改变了其他都没变。不管是PrestoDB还是PrestoSQL,它们“本是同根生”,因此它们的大部分的机制原理是一样的

在这里插入图片描述

PrestoDB官网:https://prestosql.io/https://prestodb.io/

PrestoDB官方文档1:https://prestodb.io/docs/0.284/overview.html

PrestoDB官方文档2:https://dzone.com/refcardz/getting-started-with-prestodb

PrestoSQL官网&#x

猜你喜欢

转载自blog.csdn.net/weixin_55629186/article/details/134766162