前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据Apache Druid(一):Druid简单介绍和优缺点

大数据Apache Druid(一):Druid简单介绍和优缺点

原创
作者头像
Lansonli
发布2022-08-17 08:04:34
1.1K0
发布2022-08-17 08:04:34
举报
文章被收录于专栏:Lansonli技术博客

Druid简单介绍和优缺点

一、什么是Apache Druid

Druid(德鲁伊)是一个分布式的、支持实时多维 OLAP 分析列式存储的数据处理系统,支持高速的实时数据读取处理、支持实时灵活的多维数据分析查询。在Druid数十台分布式集群中支持每秒百万条数据写入,对亿万条数据读取做到亚秒到秒级响应。此外,Druid支持根据时间戳对数据进行预聚合摄入和聚合分析,在时序数据处理分析场景中也可以使用Druid。

Druid有对应的GUI页面,适用于实时数据提取、高性能查询场景,例如:点击流分析、网络性能监控分析、实时在线OLAP分析等。Druid官网地址:http://druid.apache.org/

注意:阿里巴巴有个开源项目也叫Druid,是一个数据库连接池项目。这里说的Apache Druid与阿里巴巴的Druid没有关系。

二、Druid优缺点

Druid有如下特点,也可以看做是Druid的优点:

  • 列式存储

Druid使用面相列的存储,对于OLAP分析需要读取列分析的场景加快了速度,同时一列数据中有很多共性的数据,数据的压缩效果好,占用空间小,支持快速扫描及聚合查询。

  • 可扩展的分布式架构

Druid在生产环境中可以部署到数十台多数百台服务器组成的集群中,可以提供每秒百万条数据的写入,针对万亿条记录做到亚秒到秒级查询。

  • 支持并行计算

Druid可以在集群中并行执行一个查询。

  • 支持实时或者批量读取数据

Druid支持实时获取数据,实时获取的数据可以实时查询,也支持批量读取数据。

  • 集群自动平衡,方便运维

Druid集群扩大或者缩小时,只需要增加或者减少对应的机器数,Druid集群自动会平衡各个节点,不需要停机。

  • 对数据进行预聚合或预计算

Druid可以人为指定按照某些时间粒度对相同维度的数据进行预聚合计算,既加快了查询速度,也减少了数据存储空间。

  • bitmap索引快速过滤

Druid中可以通过bitmap构建索引,对数据进行压缩,加快查询过滤速度。

  • 基于时间的分区

Druid首先按照时间对数据进行分区,也可以使用其他字段作为分区,这样可以加快查询速度,例如:基于时间的查询只会查询与时间匹配的分区。

Druid主要的优点在于支持流式和批量数据的导入、高并发亚秒级查询、存储索引优化。但是还有一些缺点,缺点如下:

  • 有限的join能力

Druid适用于清洗好的数据实时写入,不需要更新数据,所以数据在写入Druid之前一般需要拉宽处理,在从Druid中查询数据时,直接查询这张宽表即可。在Druid最新版本0.21.1支持join,join右侧的表都会自动存放内存再做关联,这样会降低性能。

  • 不支持多时间维度,所有维度为String类型
  • 只支持流式写入,不支持实时数据更新,更新可以使用批处理作业完成。
  • 不支持精准去重

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Druid简单介绍和优缺点
    • 一、什么是Apache Druid
      • 二、Druid优缺点
      相关产品与服务
      大数据处理套件 TBDS
      腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档