presto、druid、sparkSQL、kylin的对比分析,如性能、架构等,有什么异同? - 知乎

标签: | 发表时间:2018-05-09 16:02 | 作者:
出处:https://www.zhihu.com

这几个框架都是OLAP大数据分析比较常见的框架,各自特点如下:
presto:facebook开源的一个java写的分布式数据查询框架,原生集成了Hive、Hbase和关系型数据库,Presto背后所使用的执行模式与Hive有根本的不同,它没有使用MapReduce,大部分场景下比hive快一个数量级,其中的关键是所有的处理都在内存中完成。
Druid:是一个实时处理时序数据的Olap数据库,因为它的索引首先按照时间分片,查询的时候也是按照时间线去路由索引。
spark SQL:基于spark平台上的一个olap框架,本质上也是基于DAG的MPP, 基本思路是增加机器来并行计算,从而提高查询速度。
kylin:核心是Cube,cube是一种预计算技术,基本思路是预先对数据作多维索引,查询时只扫描索引而不访问原始数据从而提速。

这几种框架各有优缺点,存在就是合理,如何选型个人看法如下:

从成熟度来讲:kylin>spark sql>Druid>presto

从超大数据的查询效率来看:Druid>kylin>presto>spark sql

从支持的数据源种类来讲:presto>spark sql>kylin>Druid


大数据查询目前来讲可以大体分为三类:

1.基于hbase预聚合的,比如Opentsdb,Kylin,Druid等,需要指定预聚合的指标,在数据接入的时候根据指定的指标进行聚合运算,适合相对固定的业务报表类需求,只需要统计少量维度即可满足业务报表需求

2.基于Parquet列式存储的,比如Presto, Drill,Impala等,基本是完全基于内存的并行计算,Parquet系能降低存储空间,提高IO效率,以离线处理为主,很难提高数据写的实时性,超大表的join支持可能不够好。spark sql也算类似,但它在内存不足时可以spill disk来支持超大数据查询和join

3.基于lucene外部索引的,比如ElasticSearch和Solr,能够满足的的查询场景远多于传统的数据库存储,但对于日志、行为类时序数据,所有的搜索请求都也必须搜索所有的分片,另外,对于聚合分析场景的支持也是软肋

相关 [presto druid sparksql] 推荐:

presto、druid、sparkSQL、kylin的对比分析,如性能、架构等,有什么异同? - 知乎

- -
这几个框架都是OLAP大数据分析比较常见的框架,各自特点如下:. presto:facebook开源的一个java写的分布式数据查询框架,原生集成了Hive、Hbase和关系型数据库,Presto背后所使用的执行模式与Hive有根本的不同,它没有使用MapReduce,大部分场景下比hive快一个数量级,其中的关键是所有的处理都在内存中完成.

DRUID连接池的使用

- - Java - 编程语言 - ITeye博客
                DRUID——为监控而生的DB池.     DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快).

安装和部署Presto

- - JavaChen's Blog
操作系统:CentOs6.5. Hadoop 集群:CDH5.3. JDK 版本:jdk1.8.0_31. 为了测试简单,我是将 Presto 的 coordinator 和 worker 都部署在 cdh1 节点上,并且该节点上部署了 hive-metastore 服务. 下面的安装和部署过程参考自 http://prestodb.io/docs/current/installation.html.

SparkSql系列(7/25) 去重方法

- - 算法之道
消除重复的数据可以通过使用 distinct 和 dropDuplicates 两个方法,二者的区别在于, distinct 是所有的列进行去重的操作,假如你的 DataFrame里面有10列,那么只有这10列完全相同才会去重, dropDuplicates 则是可以指定列进行去重,相当于是 distinct 的缩小版.

facebook presto安装与配置 CDH4.4

- - CSDN博客云计算推荐文章
下载:  http://search.maven.org/remotecontent?filepath=com/facebook/presto/presto-server/0.52/presto-server-0.52.tar.gz. 重命名:mv presto-cli-0.52-executable.jar presto.

Presto 在有赞的实践之路

- - IT瘾-dev
本文主要介绍了 Presto 的简单原理,以及 Presto 在有赞的实践之路. Presto 是由 Facebook 开发的开源大数据分布式高性能 SQL 查询引擎. 起初,Facebook 使用 Hive 来进行交互式查询分析,但 Hive 是基于 MapReduce 为批处理而设计的,延时很高,满足不了用户对于交互式查询想要快速出结果的场景.

开源OLAP引擎综评:HAWQ、Presto、ClickHouse

- - InfoQ推荐
谈到大数据就会联想到Hadoop、Spark整个生态的技术栈. 大家都知道开源大数据组件种类众多,其中开源OLAP引擎包含Hive、SparkSQL、Presto、HAWQ、ClickHouse、Impala、Kylin等. 当前企业对大数据的研究与应用日趋理性,那么,如何根据业务特点,选择一个适合自身场景的查询引擎呢.

Druid 连接泄漏监测 - 左正 - 博客园

- -
当程序存在缺陷时,申请的连接忘记关闭,这时候,就存在连接泄漏了. Druid提供了RemoveAbandanded相关配置,用来关闭长时间不使用的连接. .

Spark入门实战系列--6.SparkSQL(下)--Spark实战应用 - shishanyuan - 博客园

- -
【注】该系列文章以及使用到安装包/测试数据 可以在《. 倾情大奉送--Spark入门实战系列》获取. l 主机操作系统:Windows 64位,双核4线程,主频2.2G,10G内存. l 虚拟软件:VMware® Workstation 9.0.0 build-812388. l 虚拟机操作系统:CentOS 64位,单核.

ES和Druid搞不定的实时场景,我们用ClickHouse摆平了

- -
在介绍实时场景之前,我先简单讲一下早期的离线数据是如何支持的:. 在第一场分享中,技术负责人陈星介绍了 ClickHouse 在字节跳动内部最早支持的两个业务场景,用户行为分析平台和敏捷 BI 平台. 这两个平台的数据主要由分析师或者数仓同学产出,以 T+1 的离线指标为主. 考虑到 ClickHouse 并不支持事务,为了保障数据的一致性,我们在 ClickHouse 系统外实现了一套外部事务:.