Druid学习与总结

Druid学习

一、Druid基本

1-1、Druid的简介

Apache Druid是一个实时分析型数据库,针对的是大型数据集的快速查询分析(OLAP)。Druid可以当做数据库来进行实时获取数据、高性能查询、高稳定运行,也可以被用来助力分析型应用的图形化界面,和高并发的后端API。Druid最适合应用于面向事件类型的数据,其使用的架构是MPP架构。

特点就是:处理数据量大、可以实现实时查询、可以实现交互式查询

1-2、架构特征

  • 列式存储:效果就是只需要查特定的列,极大提高了列查询场景的性能。并且每一列数据都进行了优化存储,支持快速扫描和聚合。
  • 可扩展的分布式存储:Druid部署在集群中,可以提供数万亿记录的保留存储和即席查询。
  • 大规模并行处理:Druid在整个集群中是并行处理查询的。
  • 实时查询:Druid可以实时查询(摄取的数据可立即用于查询)
  • 自动修复、自动平衡、易于操作:在删除服务后会重新计算平衡,不会造成停机,如果有节点发生故障,会自动绕过节点。
  • 数据的安全性:在提取数据后,会在存储系统上保留一份副本,以便在故障时可以进行恢复。
  • 快速过滤的索引:使用压缩位图来创建索引,可以快速过滤和跨多列搜索。
  • 基于时间进行分区:Druid首先会按照时间对数据进行分区,当然也可以根据其他进行分区,对根据时间进行查询的数据更快
  • 摄取并汇总:在数据获取后会进行自动数据汇总,预先聚合数据,节省大量成本

1-3、场景的适用和不适用

适用:

  • 因为是OLAP,所以数据查询多、更新少的
  • Druid有预聚合,所对聚合查询和分组查询,效率更高
  • 时间延迟定位在100毫秒-几秒之间
  • 因为Druid预先对时间进行分区,所以适用于数据有时间属性的
  • 需要从Kafka、HDFS、对象存储中加载数据
  • 允许丢失一部分数据,因为Druid可能会出现丢数据现象

不适用

  • 对现有的数据进行更新
  • 延迟不重要的离线数据系统
  • 大数据表连接大数据表的操作(其实不适合join操作,适合单表操作)
  • 进行精准的去重

1-4、Druid重要的技术点

  • 数据预先聚合
  • 列式存储
  • 位图索引
  • 字典编码的压缩算法

二、MPP(大规模并行处理)简介

由于Druid是MPP架构

2-1、MPP介绍

  • MPP也就是大规模并行处理,每个节点都有独立的磁盘存储系统和内存系统,与Hadoop一样,任务会分发到不同节点上进行计算,然后进行汇总。有良好的扩展性、并发性等,适用于支撑各类数据仓库系统、BI系统等。可以处理PB级结构化数据,采用hash分布,采用压缩算法,空间大大减少,提高了IO性能。
  • SQL支持好,数据加载速度快。
  • 完全采用MPP+Shared Nothing的分布式扁平架构,也就是每个节点不依赖其他节点都是独立的、自给的,所以不存在短板问题,也就是单点瓶颈,性能很高。

2-3、特点与适合的场景

特点

  • SQL支持高
  • 对关系型操作效率高
  • 适合结构化数据

与Hadoop相比的使用场景

  • 适合现有关系数据机构下的大数据处理、有较高的效率
  • 适合结构化数据
  • 适合多维度数据自助分析、OLAP、数据集市等
  • 适合处理PB级别,高质量的数据
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值