欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

druid 博客分类: 大数据 druidolap

程序员文章站 2024-03-14 08:00:10
...

 

 

什么是Druid

 

Druid 是一个开源的,能在海量时序数据上 (万亿级别数据量, 1000 TB级别数据)上面提供实时分析查询的OLAP数据仓库,Druid提供了廉价的实时数据插入和任意数据探索的能力。
Druid的主要功能

    为分析而生 - Druid是为了解决在OLAP工作流中进行探索分析而生的. 它提供了大量的filters, aggregators和 query 类型,并且提供了一个用户添加新功能的框架. 用户可以利用Druid的集群实现例如topN和直方图等功能。
      (注: 传统数据库, 查询几千万的数据, 就会出问题, 查不出来)
      (注: druid就是一个能力超强的数据库, 执行例如SQL: select aColumn, bColumn sum(cColumn) from tableName where aColumn like 'xxx' and bColumn = 5 group by aColumn, bColumn having sum(cColumn) > 5 order by aColumn.)
      (注: druid对SQL支持有限,现在是实验版本。YeahMobi 重新开发适配了SQL, 屏蔽了下层平台, SQL 语句可以路由到这三个平台 druid, impala, hive)
    高交互式 - Druid的低延时数据插入允许数据在生成之后的毫秒范围之内就可以被用户查询到。Druid通过读取和扫描需要的数据来优化查询的延时。
    高可用性 - Druid可以被用来实现需要持续提供服务的SaaS应用。即使是在系统升级的过程中,你的数据仍然可以被查询。而且Druid 集群的扩容或者缩减不会带来数据的丢失。

 

       (注: 已经在生产环境之中验证: 添加字段, 集群扩容, 集群缩减)
    可扩展性 - 现有的Druid系统可以很轻松的处理每天数十亿条记录和TB级别的数据。Druid本身是被设计来解决PB级别数据的。

 

为什么要用Druid?

 

Druid的初衷是为了解决在使用Hadoop进行查询时所遇见的高延时问题来提高交互性查询。尤其是当你对数据进行汇总之后并在你汇总之后的数据上面进行查询时效果更好。将你汇总之后的数据插入Druid,随着你的数据量在不断增长,你仍然可以对Druid的查询能力非常有信心。当前的Druid安装实例已经可以很好的处理以每小时数TB实时递增的数据量。
(注: 在我们的实践中 druid 查询统计100亿数据, 在5秒内响应。 查询1个月的数据, 基本可以在毫秒内完成。 比hadoop的常用的T+1 Map Reduce 高效多了.

你可以在拥有Hadoop的同时创建一个Druid系统。Druid提供了以一种互动式切片、切块方式来访问数据的能力,它在查询的灵活性和存储格式直接寻找平衡从而来提供更好的查询速度。

caravel对druid有良好的支持,可以很方便的实现可视化。

 

什么情况下需要Druid?

    当你需要在大数据集上面进行快速的,交互式的查询时,通过支持索引,查询效率比较高
    当你需要进行特殊的数据分析,而不只是简单的键值对存储时
    当你拥有大量的数据时 (每天新增数百亿的记录、每天新增数十TB的数据)
    当你想要分析实时产生的数据时,在复杂sql应用场景下保证性能
    当你需要一个24x7x365无时无刻不可用的数据存储时

Druid的缺点

    不支持join
    不支持数据更新,只适合大量数据追加的应用
    Druid用索引来提高带过滤查询的速度,索引结构会增加存储负担(使修改更难), 但是显著的增加速度

 

架构概述

 

   druid在一定程度上是受搜索框架的启发, 通过建立不变数据视图和使用便于filter和aggregation的高度优化的格式来提高性能. Druid 集群有一系列不同类型的节点组成, 每种节点将一小部分事情做到极致。

 

Druid vs…   

    Druid-vs-Impala-or-Shark
    Druid-vs-Redshift
    Druid-vs-Vertica
    Druid-vs-Cassandra
    Druid-vs-Hadoop
    Druid-vs-Spark
    Druid-vs-Elasticsearch
    
    数据框架世界一直在巨大的混乱的变化之中, 这个网页希望帮助潜在的用户评估和确定druid适合用户解决遇到的问题。 如果有错误请通过邮件列表或者其他渠道反馈.

相关标签: druid olap