Druid对比Impala/Shark
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的更多相关文章
- Druid对比Hadoop
Druid对比Hadoop Hadoop 向世界证明, 花费很少的钱实现典型的解决方案, 将数据保存在一般的商用机器的数据仓库里是可行的. 当人们将自己的数据保存在Hadoop, 他们发现两个问题 ...
- Druid对比Elasticsearch
我们不是Elasticsearch的专家, 如果描绘有误, 请通过邮件列表或者其他途径告知我们. Elasticsearch 是基于Apache Lucene搜索服务器. 提供了对无模式文档的全文检 ...
- Druid对比Redshift
Redshift 内部使用了亚马逊取得了授权的ParAccel 实时注入数据 抛开可能的性能不同, 有功能性的不同 Druid 适合分析大数据量的流式数据, 也能够实时加载和聚合数据一般来讲, 传统的 ...
- Druid对比Cassandra
不是Cassandra专家, 如果描绘有错误, 请通过邮件列表或者其他方式告知, 我们会修正. Druid对扫描和聚合做了很大程度的优化, 不用提前计算就支持任意的向下钻取, 还可以实时摄入流式数据并 ...
- Druid对比Vertica
怎么比较Druid和Vertica? Vertica 类似与之前介绍的ParAccel/Redshift(Druid-vs-Redshift). 不是实时注入数据: 提供SQL的全部语法支持 另外一个 ...
- Druid(准)实时分析统计数据库——列存储+高效压缩
Druid是一个开源的.分布式的.列存储系统,特别适用于大数据上的(准)实时分析统计.且具有较好的稳定性(Highly Available). 其相对比较轻量级,文档非常完善,也比较容易上手. Dru ...
- [转]impala操作hive数据实例
https://blog.csdn.net/wiborgite/article/details/78813342 背景说明: 基于CHD quick VM环境,在一个VM中同时包含了HDFS.YARN ...
- Druid连接池(三)
十二.Druid缓存 连接Oracle数据库,打开PSCache,在其他的数据库连接池都会存在内存占用过多的问题,Druid是唯一解决这个问题的连接池. Oracle数据库下PreparedState ...
- impala进阶
一.impala存储 1.文件类型 2.压缩方式 二.impala分区 1.创建分区方式 partitioned by 创建表时,添加该字段指定分区列表: create table t_person( ...
随机推荐
- XCode Playground Overview
http://rshankar.com/xcode-6-and-playground/ Playground is an interactive work environment that allow ...
- 6.shell判断语句
[ condition ](注意condition前后要有空格),可以使用$?验证(0为true,>1为false) 两个整数的比较:=:字符串比较-lt:小于-gt:大于-le:小于等于-ge ...
- 网关协议:CGI、FastCGI、WSGI
CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页. CGI CGI即通用网关接口(Common Ga ...
- 错误 NETSDK1068: 框架依赖型应用程序主机需要一个至少 “netcoreapp2.1” 的目标框架
错误 NETSDK1068: 框架依赖型应用程序主机需要一个至少 “netcoreapp2.1” 的目标框架 我有一个ASP.NET Core 2网站应用程序,编译运行都没有问题,但是发布时却出了错, ...
- 山东省第八届省赛 A:Return of the Nim(尼姆+威佐夫)
Problem Description Sherlock and Watson are playing the following modified version of Nim game: Ther ...
- HDU 2988.Dark roads-最小生成树(Kruskal)
最小生成树: 中文名 最小生成树 外文名 Minimum Spanning Tree,MST 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的 ...
- CF 917A The Monster 【括号匹配】
[链接]:CF Examples inputCopy ((?)) outputCopy 4 inputCopy ??()?? outputCopy 7 说明 For the first sample ...
- CF 990A. Commentary Boxes【数学/模拟】
[链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...
- HDU 1013 Digital Roots(字符串,大数,九余数定理)
Digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- 2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1010
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inclu ...