写点什么

Presto 即服务:AWS 上的交互式 SQL 查询

  • 2014-02-17
  • 本文字数:1241 字

    阅读完需:约 4 分钟

作为 Facebook 公司的一项可用作在 PB 级规模的数据上执行交互式 SQL 查询的技术, Presto 现在已经迈出了步入主流应用的第一步。大数据创业公司 Qubole 日前发布了与 Amazon Web Services 集成的 Presto 即服务 alpha 版本

这套新系统与目前已经集成的 Hadoop、Hive 以及 Pig,都属于 Qubole 公司不断发展壮大的平台 Qubole Data Service (QDS)中的一部分。由于 Presto 原生集成了 Hive、Hbase 和关系型数据库,因此它的这种特性使得它非常适合这类管理服务。作为 Qubole 公司的联合创始人, Ashish Thusoo Joydeep Sen Sarma 曾创建了 Hive,并且把 HBase 带到了 Facebook,因此对于他们来说,这一步看起来顺理成章。这项服务的一个主要用例就是通过查询 Hive 表以取得存储在 S3 上的数据,这样一来 QDS 的用户就可以很方便地基于这些表执行查询操作了。Qubole 目前的服务都是以 AWS 为中心构建的,原因正如 Ashish 所说,“这是由我们目前的需求决定的”。Qubole 将自己定位为昂贵的数据仓库系统的替代品,就像 Qubole 的工程副总裁 Shrikanth Shankar 所说,“对于那些之前依赖昂贵的商业技术进行快速分析工作的用户来说,Presto 将为他们带来巨大的价值。”

在大数据领域内,Presto 实际上是一项相对较新的技术。Facebook 的这个项目开始于 2012 年秋,并在 2013 年上半年正式上线,最终在 2013 年 11 月完全开源。Presto 背后所使用的执行模式与 Hive 有根本的不同,它没有使用 MapReduce,这一点与其他 SQL 查询引擎(例如 Cloudera Impala UC Berkeley Shark )很像。其中的关键是所有的处理都在内存中完成,正如 Ashish 所说,“Presto 更适合运行在配有更大内存的实例上。”这也是为什么 Presto 能够获得比 Hive 低几个数量级延迟的主要原因之一。但是由于 Stinger 项目给 Hive 12 带来的性能改善,因此 Presto 与 Hive 12 间孰优孰劣目前尚且不明,正如 Ashish 所描述的一样:

Hive 肯定也会变得更快。我们已经进行了一些初步的测试,很快就会在博客中公布测试的结果。

就其可扩展性方面来说,应用在 Facebook 的 300PB 规模的数据仓库系统中的这一事实充分证明了它的可靠性。另外其他一些公司,例如 AirBnb Dropbox ,也都开始采用 Presto,“在我们的绝大多数用例中,它都比 Hive 要快一个数量级”,Dropbox 的线上分析经理 Christopher Gutierrez 如是说。

伴随着 Qubole 这个新服务的发布,Presto 社区将会进一步发展壮大,就连 Siva Narayanan 这样的 Qubole 开发者都在 Presto 群组中表示他们“打算做 Presto 王国中的好市民,并且期待着为 Presto 项目的主干贡献补丁和功能”。凭借着 GitHub 上超过 2000 颗星和 350 次的分支,Presto 项目已经变得比其他类似的并且更早的开源项目(例如 Impala )更为流行。

查看英文原文: Presto 即服务:AWS 上的交互式 SQL 查询


感谢梅雪松对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-02-17 07:332695

评论

发布
暂无评论
发现更多内容

hive 建表语句迁移

飞哥

小米手机广告在日本「炸」了,背后的教训是什么?

葛仲君

产品 本地化 小米 日本 文化

央行:取消境外机构投资者额度限制,推动金融市场进一步开放

kimmking

算法篇之数组右移

月夜

算法 数组右移

iTerm2使用小技巧-密码管理器

小菜与老鸟

iTerm

Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪!

Apache Flink

大数据 flink 流计算 实时计算

专题:快速开发那点事儿 | 轮子怎么选

Java_若依框架教程

Java 敏捷开发 Ruoyi 快速开发

【预告】千亿数据的潘多拉魔盒:从分库分表到分布式数据库

kimmking

分布式数据库 分库分表 分布式系统 中间件

第一篇InfoQ的博客

程序员小岑

写作 体验

中年危机,我们如何面对?

石云升

基于大疆无人机SDK二次开发

sydMobile

android 无人机

new[]和delete[]为何要配对使用?

泰伦卢

c c++ C#

快速开发那点事儿 | 选择最合适的轮子,量产跑车

Java_若依框架教程

敏捷开发 JAVA开发 RouYI 快速开发

自助设备系列——自助设备的春天

孙苏勇

产品

MyBatis 3 解析Mapper映射配置

杨家昌

mybatis 配置 Mapper XMLMapperBuilder

一种消息消费失败的处理方案

redis kafka

为什么很多技术都觉得前端很简单?

极客时间

大前端

言简意赅,聊聊RPC的123事

一叶而不知秋

RPC

开源一个自研的基于Netty的高性能网络通信框架

Geek_373e87

TCP dubbo Netty

讨论:应不应该用存储过程?

kimmking

MyBatis 3 解析mybatis-config.xml配置

杨家昌

深度解析 mybatis 初始化 XMLConfigBuilder Configuration

游戏夜读 | 有哪几种游戏玩家?

game1night

源码分析shared_ptr实现

泰伦卢

c c++ C#

IT人的职业提升只靠技术精进行的通吗?

MavenTalker

程序员 程序人生 职业规划 技术人

没有业务规则的技术实现

wd

吐槽

地址收录

gogogo

关于架构的几件小事:架构是什么

北风

架构 企业架构

Flutter 中SharedPreferences 的初始化?

三爻

flutter android

MyBatis 3 XML配置

杨家昌

mybatis mybatis-config.xml XML配置 配置

spring boot 集成 elasticsearch 7.x (一)

wd

elasticsearch high level client

这样理解Java中的函数式编程就对了

jerry

java8 函数编程

Presto即服务:AWS上的交互式SQL查询_DevOps & 平台工程_Charles Menguy_InfoQ精选文章