presto
Presto是Facebook开发的数据查询引擎,可对250PB以上的数据进行快速地交互式分析。
该项目始于2012年秋季开始开发,目前该项目已经在超过1000名Facebook雇员中使用,运行超过30000个查询,每日数据在1PB级别。Facebook称Presto的性能比Hive要好上10倍有多。2013年Facebook正式宣布开源Presto。
开发历史
Presto最初由Facebook的Martin Traverso,Dain Sundstrom,David Phillips和Eric Hwang四位开发人员设计和开发,用于在其大型数据仓库中运行交互式查询的Apache Hadoop。Facebook的数据分析师在Presto之前依赖于Apache hive在其多PB级数据仓库上运行SQL分析,但Hive的速度无法满足Facebook的需求。Presto的开发始于2012年,并于同年晚些时候在Facebook部署。2013年11月,Facebook宣布Presto的开源发布。
Netflix在2014年披露他们在亚马逊简单存储服务(S3)上存储的10PB数据中使用了Presto。2016年11月,亚马逊宣布了一个基于Presto的名为Athena的服务。2017年,天睿资讯系统有限公司成立了一个名为Starburst Data的公司,以商业支持Presto。2019年1月,Presto软件基金会成立,以促进Presto开源分布式SQL查询引擎的发展。同年9月,Facebook将PrestoDB捐赠给Linux基金会,成立了Presto基金会。到2020年,最初的四位Presto开发人员都加入了Starburst。2020年12月,PrestoSQL更名为Trino。2020年,Ahana公司宣布将PrestoDB分支商业化为云服务,并于2023年被IBM收购。
功能与服务
Presto的架构是一个分布式系统,采用大规模并行处理(MPP)模式。它由一个协调器和多个工作节点组成,客户端提交的SQL经过解析和规划后,将并行任务调度给工作节点。工作节点处理来自数据源的行,并产生结果返回给客户端。Presto不会将中间结果写入磁盘,这与Apache Hive的执行模型不同,后者在每个查询上使用Hadoop MapReduce机制,因此Presto的查询速度更快。Presto是用Java编写的,并且可以合并来自多个数据源的数据。
Presto提供了与多种数据源的连接器,包括但不限于Hadoop分布式文件系统(HDFS)、Amazon S3、MySQL、PostgreSQL、Microsoft SQL Server、Amazon Redshift、Apache Kafka、Apache Cassandra等。Presto支持计算和存储的分离,可以在本地或云计算环境中部署。与其他特定于Hadoop发行版的工具不同,Presto可以与任何Hadoop变体一起工作,也可以在没有Hadoop的情况下工作。
参考资料
Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike.com/id.php on line 280