大数据产品研究 - Presto简介

Presto是什么?

Presto是一个开源的分布式SQL查询引擎,它以集群的方式运行,采用MPP架构,用在交互式分析查询场景下,可以将多种不同数据量级(从GB到PB)的数据源组合起来进行统一计算。Presto本身只是一个查询引擎,它通过connector的方式完成外部数据源的接入;也就是说通过使用Presto提供的ANSI标准SQL,可以完成多种数据源的标准化计算工作。以下是Presto在数据栈中所处位置的图形化展示。

大数据产品研究 - Presto简介_第1张图片

Presto是专为交互式分析而设计和编写的,其速度接近商业数据仓库的速度,可以应用在像Facebook等体量庞大的公司。Presto通过Presto基金会来推动其自身的发展,该基金会是隶属于Linux基金会的独立非盈利组织。

Presto能做什么?

Presto允许查询任何数据源的数据,例如:Hive、Cassandra、关系型数据库或其他专有数据存储。一个单独的Presto查询可能由多个不同数据源的数据组成,这就给大家提供了一种在整个公司层面上做多数据源综合分析的能力。

Presto的定位是解决一些响应时间在秒到分钟级别的分析场景。让大家除了使用昂贵的商业解决方案进行快速分析或使用需要过多硬件的“免费”解决方案之外,又多了一种选择。

Presto的生产部署应该包含一个coordinator和多个worker。查询从客户端(如Presto CLI)提交给coordinator。coordinator解析、分析和计划如何执行该查询,然后将处理分发给worker。

大数据产品研究 - Presto简介_第2张图片

Presto的几个典型应用场景如下

  • 交互式分析:通过使用可视化界面、看板、BI工具等进行快速数据查询和分析,时间通常在秒级到分钟级别;
  • ETL批处理:提高数据仓库中数据处理的吞吐量和效率;
  • A/B测试:通过假设检验,选择要切片和切割的数据,并评估产品变化,结果以小时(而不是天)为单位。
  • 应用分析:构建面向外部的定制报告工具,低延迟、高并发(数百个)。

谁在用Presto?

Presto是Facebook开源的MPP架构的OLAP查询引擎,所以Presto在Facebook内部的交互式查询场景中已经得到了广泛的使用,甚至接入了其300PB的数据仓库。每天有上千名FB员工使用Presto处理超过3万多个查询。其他有在使用的企业包括很多头部互联网公司:Airbnb、Dropbox、美团等。

以下是两位国外大佬对Presto的评价:

Presto is amazing. Lead engineer Andy Kramolisch got it into production in just a few days. It's an order of magnitude faster than Hive in most our use cases. It reads directly from HDFS, so unlike Redshift, there isn't a lot of ETL before you can use it. It just works. —— Christopher Gutierrez, Manager of Online Analytics, Airbnb

We're really excited about Presto. We're planning on using it to quickly gain insight about the different ways our users use Dropbox, as well as diagnosing problems they encounter along the way. In our tests so far it's been rock solid and extremely fast when applied to some of our most important ad hoc use cases. —— Fred Wulff, Software Engineer, Dropbox 

Presto不是什么?

因为很多社区的小伙伴都把Presto称作“数据库”,所以这里要澄清一下Presto不是什么。

Presto可以提供标准数据库的很多特性,可以理解标准SQL查询。但是Presto并不是我们通常认为的关系型数据库。它不能替代我们常用的MySQL、PostgreSQL或Oracle,因为它不是为在线事务处理(OLTP)而设计的。当然这个问题对于Doris、Hive、ClickHouse等也是普适的。所以还是像上面说的,Presto只适合OLAP等分析类场景。

 

你可能感兴趣的:(大数据,数据仓库,big,data,hadoop,presto)