Druid--简介

大数据分析平台架构分类

在这里插入图片描述

  • 数据分析的基础架构可以分为以下几类:
    • 使用Hadoop/Spark进行分析
    • 将Hadoop/Spark的结果导入 RDBMS 中提供数据分析
    • 将结果注入到容量更大的 NoSQL中,解决数据分析的存储瓶颈,例如:HBase
    • 将数据源进行流式处理,对接流式计算框架,例如:Flink、Spark Streaming,结果保存到 RDBMS、NoSQL中
    • 将数据源进行流式处理,对接分析数据库,例如:Druid

为什么会有Druid

  • 基于 Hadoop 的大数据平台,有如下一些问题:
  • 无法保障查询性能
    • 对于Hadoop使用的MapReduce批处理框架,数据何时能够查询没有性能保证
  • 随机IO问题
    • HDFS以集群硬盘作为存储资源池的分布式文件系统
    • 在海量数据的处理过程中,会引起大量的读写操作,随机IO是高并发场景下的性能瓶颈
  • 数据可视化问题
    • HDFS对于数据分析以及数据的即席查询,HDFS并不是最优的选择
  • 传统的Hadoop大数据处理架构更倾向于一种“后台批处理的数据仓库系统”,其作为海量历史数据保存、冷数据分析,确实是一个优秀的通用解决方案,但
    • 无法保证高并发环境下海量数据的查询分析性能
    • 无法实现海量实时数据的查询分析与可视化

Druid的诞生

  • Druid是由一个名为 MetaMarket 的公司开发的
  • 2011年,MetaMarket 开始研发自己的"轮子"Druid,将Druid定义为“开源、分布式、面向列式存储的实时分析数据存储系统”
  • 要解决的"痛点"是
    • 在高并发环境下,保证海量数据查询分析性能
    • 同时提供海量实时数据的查询、分析与可视化功能

Druid是什么

  • Druid是面向海量数据的、用于实时查询与分析的OLAP存储系统。Druid的四大关键特性如下:
  • 亚秒级的OLAP查询分析
    • 采用了列式存储、倒排索引、位图索引等关键技术
  • 在亚秒级别内完成海量数据的过滤、聚合以及多维分析等操作
  • 实时流数据分析
    • 传统分析型数据库采用的批量导入数据,进行分析的方式
    • Druid提供了实时流数据分析,以及高效实时写入
  • 实时数据在亚秒级内的可视化
  • 丰富的数据分析功能
    • Druid提供了友好的可视化界面
  • SQL查询语言
    • REST查询接口
  • 高可用性与高可拓展性
    • Druid工作节点功能单一,不相互依赖
    • Druid集群在管理、容错、灾备、扩容都很容易
  • 阿里巴巴也曾创建过一个开源项目叫 Druid (简称阿里 Druid),它是一个数据库连接池项目。阿里 Druid 和 我们要讨论的 Druid 没有任何关系,它们解决完全不同的问题

Druid的典型应用架构

在这里插入图片描述

国内哪些公司在使用Druid

  • 腾讯
    • 腾讯企点采用Druid用于分析大量的用户行为,帮助提升客户价值
  • 阿里巴巴
    • 阿里搜索组使用Druid的实时分析功能用于获取用户交互行为
  • 新浪微博
    • 新浪广告团队使用Druid构建数据洞察系统的实时分析部分,每天处理数十亿的消息
  • 小米
    • Druid用于小米统计的后台数据收集和分析
    • 也用于广告平台的数据分析
  • 滴滴打车
    • Druid是滴滴实时大数据处理的核心模块,用于滴滴实时监控系统,支持数百个关键业务指标
    • 通过Druid,滴滴能够快速得到各种实时的数据洞察
  • 优酷土豆
    • Druid用于其广告的数据处理和分析

Druid 对比其他OLAP

Druid vs. Elasticsearch

  • Druid在导入过程会对原始数据进行Rollup,而ES会保存原始数据
  • Druid专注于OLAP,针对数据导入以及快速聚合操作做了优化
  • Druid不支持全文检索

Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB)

  • Druid采用列式存储,使用倒排和bitmap索引,可以做到快速扫描相应的列

Druid vs. Spark

  • Spark SQL的响应还不做到亚秒
  • Druid可以做到超低的响应时间,例如亚秒,而且高并发面向用户的应用。

Druid vs SQL-on-Hadoop (Impala/Drill/Spark SQL/Presto)

  • Driud查询速度更快
  • 数据导入,Druid支持实时导入,SQL-on-Hadoop一般将数据存储在Hdfs上,Hdfs的写入速度有可能成为瓶颈
  • SQL支持,Druid也支持SQL,但Druid不支持Join操作

Druid vs. Kylin

  • Kylin不支持实时查询,Druid支持,但是Kylin3.0已经支持实时查询
  • Kylin支持表连接(Join),Druid不支持
  • Druid可以进行数据的存储,Kylin只能进行数据的OLAP分析安装imply
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值