Druid 和 Impala Shark 的对比取决于产品要求, 取决于系统是设计成做什么的

Druid 被设计成

一直在线, 高可用性
    实时插入数据
    分片分块形式的任意查询
据我所知 Impala 和 Shark 起初关心的是用更快的查询模块换Hadoop MapReduce, 查询模块是完全通用的, 和现有的Hadoop生态系统打成一片.  请注意我不是Impala or Shark专家, 也不熟悉Impala和Shark的路线图. 如果有什么错误, 我会更改, 请发邮件到邮件列表.
这是什么意思呢, 我们可以从以下四个通用的方面看
    容错性
    查询速度
    数据插入
    查询灵活性

容错性

druid在查询之前从深存储(Deep Storage) 拉取segment。 这意味着集群中的数据在一定在历史节点(historical node)的本地副本之中。 如果deep storage 出了问题, 新的segment不会加载, 集群可以继续支持查询深存储出现问题之前的数据。
Impala and Shark, 使用另外一种方式, 从HDFS拉取数据, 这意味着需要需要将程序下载加载。 当支持的文件系统出了问题, 被cache的数据仍可用。我不确定。
这只是一个例子, Druid 被设计成任何地方出错后仍能够继续提供服务, 设计文档中描述了更多的详细信息

查询速度

Druid 操控注入的数据, 将数据保存成列式存储并压缩添并加索引结构, 这些都提高查询速度。 列式存储只需查看查询的数据列. 压缩提高了RAM的容量让我们在内存之中保存更多的数据。 索引结构相当于添加了boolean filter, 使查询更快, 这样可以做更多的查询.
Impala/Shark 可以被认为是HDFS的缓存守护进程.  没有查询的时候守护进程依然存在(这就消除了Map Reduce的JVM启动时间), 而且利用了本地Cache, 这样数据可以被快速度访问和修改。 但是我认为这不会超越Cache的能力. 所以, 直到现在, 他们没有改变这种无理性暴力行为方式, 没有改变扫描所有的东西的方式
[注: 作者对Impala了解不够, 只举一例, impala也支持列式存储]

数据插入

[Druid本来就支持实时消费数据, 可以实时注入数据并查询刚刚注入的数据, 时间延迟很小, 取决于这些数据什么时候到达Druid
Impala/Shark 基于HDFS或者其他存储, 被后面的存储限制注入频率。 一般来讲, 后面的存储有很大的瓶颈。

查询灵活性

Druid 支持时间序列和group by 查询. 不支持join, 这点有一些不灵活.
Impala/Shark 支持SQL类型的full join

Druid对比Impala/Shark的更多相关文章

  1. Druid对比Hadoop

    Druid对比Hadoop Hadoop 向世界证明, 花费很少的钱实现典型的解决方案, 将数据保存在一般的商用机器的数据仓库里是可行的. 当人们将自己的数据保存在Hadoop, 他们发现两个问题   ...

  2. Druid对比Elasticsearch

    我们不是Elasticsearch的专家, 如果描绘有误, 请通过邮件列表或者其他途径告知我们. Elasticsearch 是基于Apache Lucene搜索服务器.  提供了对无模式文档的全文检 ...

  3. Druid对比Redshift

    Redshift 内部使用了亚马逊取得了授权的ParAccel 实时注入数据 抛开可能的性能不同, 有功能性的不同 Druid 适合分析大数据量的流式数据, 也能够实时加载和聚合数据一般来讲, 传统的 ...

  4. Druid对比Cassandra

    不是Cassandra专家, 如果描绘有错误, 请通过邮件列表或者其他方式告知, 我们会修正. Druid对扫描和聚合做了很大程度的优化, 不用提前计算就支持任意的向下钻取, 还可以实时摄入流式数据并 ...

  5. Druid对比Vertica

    怎么比较Druid和Vertica? Vertica 类似与之前介绍的ParAccel/Redshift(Druid-vs-Redshift). 不是实时注入数据: 提供SQL的全部语法支持 另外一个 ...

  6. Druid(准)实时分析统计数据库——列存储+高效压缩

    Druid是一个开源的.分布式的.列存储系统,特别适用于大数据上的(准)实时分析统计.且具有较好的稳定性(Highly Available). 其相对比较轻量级,文档非常完善,也比较容易上手. Dru ...

  7. [转]impala操作hive数据实例

    https://blog.csdn.net/wiborgite/article/details/78813342 背景说明: 基于CHD quick VM环境,在一个VM中同时包含了HDFS.YARN ...

  8. Druid连接池(三)

    十二.Druid缓存 连接Oracle数据库,打开PSCache,在其他的数据库连接池都会存在内存占用过多的问题,Druid是唯一解决这个问题的连接池. Oracle数据库下PreparedState ...

  9. impala进阶

    一.impala存储 1.文件类型 2.压缩方式 二.impala分区 1.创建分区方式 partitioned by 创建表时,添加该字段指定分区列表: create table t_person( ...

随机推荐

  1. Linux core dump file详解

    Linux core dump file详解 http://www.cnblogs.com/langqi250/archive/2013/03/05/2944931.html

  2. vmware的3种网络模式

    ####图片以及部分内容来源:https://note.youdao.com/share/?id=236896997b6ffbaa8e0d92eacd13abbf&type=note#/ 在安 ...

  3. processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(“ 132501”).active().singleResult();

    JAVA: processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(“ 132501”).ac ...

  4. Python 解释器中方向键无法使用的解决方法

    如下: SyntaxError: invalid syntax >>> ^[[A File "<stdin>", line 1 ^ SyntaxErr ...

  5. (8)python 类和对象

    一.类和对象 python可以动态的添加删除变量和方法 类中的方法至少要有一个参数,第一个参数会被绑定到类的实例上,通常命名为self 1.构造函数 类中的构造方法名为 __init__(self,. ...

  6. Hadoop-eclipse插件配置

    1.准备jar包与安装eclipse. 2.将jar包拷贝到eclipse/plugin.

  7. ASP.NET Core 2.2 基础知识(三) 静态文件

    什么是静态文件? HTML,CSS,JS,图片等都叫做静态文件. 要想提供静态文件给客户端,需要注册静态文件中间件. 我们先分别添加一个 WebAPI 项目,一个 Razor 视图项目,比较两个项目的 ...

  8. [BZOJ2876]骑行川藏

    以前并没有发现微积分教材上有这种东西...我还是太菜了... 其实就是要在满足$\sum\limits_{i=1}^nk_is_i(v_i-v_i')^2\leq E$的同时求$\sum\limits ...

  9. [CF460E]Roland and Rose

    题意:给定$n$和$r$,要找$n$个整点,使得他们两两距离的平方和最大,并且所有点到原点的距离必须小于$r$ 很容易猜到答案在凸包上然后暴力找,但证明还是挺妙的 首先转化一下距离平方和 令$\vec ...

  10. 【矩阵乘法】bzoj2326 [HNOI2011]数学作业

    http://hzwer.com/2831.html #include<cstdio> #include<iostream> #include<vector> us ...