Druid简介

1.Druid概念

Druid是一个快速的列式分布式的支持实时分析的数据存储系统。它在处理PB级数据、毫秒级查询、数据实时处理方面,比传统的OLAP系统有了显著的性能改进。

Druid的官方网站是http://druid.io。

注意:阿里巴巴也曾创建过一个开源项目叫作Druid(简称阿里Druid),它是一个数据库连接池的项目。阿里Druid和本文讨论的Druid没有任何关系,它们解决完全不同的问题。

2.Druid特点

在这里插入图片描述

3.应用场景

在这里插入图片描述

4.Druid对比Impala/Presto/Spark SQL/Kylin/Elasticsearch

对比项目 Druid Kylin Presto Impala Spark SQL ES
亚秒级响应 Y Y N N N N
百亿数据集 Y Y Y Y Y Y
SQL支持 N(开发中) Y Y Y Y N
离线 Y Y Y Y Y Y
实时 Y N(开发中) N N N Y
精确去重 N Y Y Y Y N
多表Join N Y Y Y Y N
JDBC for BI N Y Y Y Y N

1)Druid:是一个实时处理时序数据的OLAP数据库,因为它的索引首先按照时间分片,查询的时候也是按照时间线去路由索引。
2)Kylin:核心是Cube,Cube是一种预计算技术,基本思路是预先对数据作多维索引,查询时只扫描索引而不访问原始数据从而提速。
3)Presto:它没有使用MapReduce,大部分场景下比Hive快一个数量级,其中的关键是所有的处理都在内存中完成。
4)Impala:基于内存运算,速度快,支持的数据源没有Presto多。
5)Spark SQL:基于Spark平台上的一个OLAP框架,基本思路是增加机器来并行计算,从而提高查询速度。
6)ES:最大的特点是使用了倒排索引解决索引问题。根据研究,ES在数据获取和聚集用的资源比在Druid高。
7)框架选型:
(1)从超大数据的查询效率来看:
Druid > Kylin > Presto > Spark SQL
(2)从支持的数据源种类来讲:
Presto > Spark SQL > Kylin > Druid

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章