Apache Druid

Apache Druid
官方文档:https://druid.apache.org/docs/latest/design/index.html

Apache Druid 介绍

Apache Druid 是一个实时分析数据库 real-time analytics database,用于对大型数据集进行快速切片分析(OLAP 查询)。在实时摄入(数据)、快查询表现、长时间正常运行(high uptime)等方面要求很高的场景,Druid 发挥作用。
Druid 通常作为分析系统的 GUI、需要快速聚合的高并发 apis 的后端数据库。Druid 最适合处理面向事件的数据。

Druid 的常见应用领域

  • 包括 web、手机在内的点击流分析
  • 包括网络性能监控在内的网络遥测分析
  • 服务器指标存储
  • 包括生产指标在内的供应链分析
  • 应用程序表现指标
  • 数字化营销/广告分析
  • 商业智能 BI /联机分析处理 OLAP

Druid 的主要特点 key features

  • 列式存储。并且 Druid 会根据列的数据类型优化列存储,以支持快速扫描和聚合
  • 可扩展的分布式系统。Druid 的经典集群配置是几十到几百个服务器。Druid 可以以每秒数百万条记录的速度摄入数据,同时保存几万亿条记录,并保持次秒(<1秒)到几秒查询延迟
  • 大规模并行处理 Massively parallel processing。可以在集群中并行处理每个查询。
  • 实时/批量摄入数据,摄取的数据可以立即用于查询
  • 自愈合 self-healing,自平衡,操作方便。您可以随意地通过增加/减少服务器来扩展/缩小集群规模。Druid 集群会在后台自动重新平衡集群,不需要任何停机时间。如果某个 Druid 服务器无法正常工作,系统会自动分发数据到其他正常节点,直到损坏节点被替换。德鲁伊被设计成可以连续运行,而不会因为任何原因而计划停机。这对于配置更改和软件更新来说很重要。
  • 保证了不会丢失数据的本地云和容错体系结构。摄入数据后,德鲁伊将数据的副本安全地存储在深度存储 deep storage。深度存储通常是云存储、 HDFS 或共享文件系统。你可以从深度存储中恢复你的数据,即使在所有的 Druid 服务器都损坏的情况下。对于只影响少数几个 Druid 服务器的有限故障,副本可以确保在系统恢复期间仍然可以进行查询。
  • 索引,快速过滤。Druid 使用 Roaring 或 CONSISE 的压缩位图索引,以支持快速筛选和跨多列搜索。
  • 基于时间的分区 Time-based partition。Druid 首先按照时间来划分分区。您可以选择性地基于其他字段实现额外的分区。因此,基于时间的查询将只访问与查询的时间范围相匹配的分区,带来显著的性能提升。
  • 近似算法 Approximate algorithms。Druid 包括近似的去重计数算法,近似排名算法,并计算近似直方图和分位数。这些算法使用有限的内存,通常比精确计算快得多。对于精确比速度更重要的情况,Druid 也提供了精确的统计、排序算法。
  • 在摄入数据时,自动做数据汇总。这个汇总提前聚合了数据,可能导致成本节约和性能提升。

何时使用 Druid ?
如果您的情况和下面的一些匹配,Druid 可能是一个不错的选择

  • 插入频率很高,更新频率很低。
  • 大多数查询是聚合和报告查询 reporting query。例如“group by”查询。可能还有搜索和扫描查询。
  • 查询延迟希望在100毫秒到几秒之间。
  • 数据有一个时间列。Druid 对时间有特别的优化和设计选择。
  • 查询只涉及一个大的分布式表,或多个小的表。
  • 高基数数据列 high cardinality data columns。例如 urls、用户 id,并需要对它们进行快速计数和排序。
  • 需要从 Kafka、HDFS、平面文件 flat files 或者像 Amazon S3 这样的对象存储 object storage 中加载数据。

您可能不想使用 Druid 的情况有

  • 需要通过主键对现有数据进行低延迟的更新。Druid 支持流式插入,但不支持流式更新。您可以通过后台批处理作业进行更新。
  • 您正在构建的是一个离线报告系统,不要求低的查询延迟。
  • 您希望执行“大”连接 “big” join,即一个大的事实表 join 另一个大的事实表,并可以接受该查询需要很长时间。

tutorials 教程

  • Druid
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值