apache druid 初识

一:Apache druid 是一种实时分析数据库,设计用于对大型数据集进行快速分析(OLAP),支持数据的实时摄取,提供低时延的查询性能。
二:Apache druid 主要特点
(1)列式存储格式,查询时只加载特定查询的列,还根据数据类型优化每一列的存储,加快查询速度。
(2)可扩展的分布式系统。典型的 Druid 部署跨越数十台到数百台服务器的集群。Druid 能以每秒数百万条记录的速度摄取数据,同时保留数万亿条记录,并保持从亚秒到秒级别的时延。
(3)大规模并行处理。Druid 可以在整个集群中并行处理每个查询。
(4)实时或批量摄取。Druid 可以实时或分批摄取数据。输入的数据可立即用于查询。
(5)自修复、自平衡、易操作。作为操作员,您可以添加服务器以扩大规模,或删除服务器以缩小规模。Druid 集群会在后台自动重新平衡,无需停机。如果 Druid 服务器出现故障,系统会自动绕过损坏的服务器路由数据,直到服务器被替换。Druid 的设计目的是在不因任何原因而计划停机的情况下持续运行。配置更改和软件更新也是如此。
(6)云原生容错架构,不会丢失数据。摄取数据后,Druid 会将数据的副本安全地存储在深度存储中。深度存储通常是云存储、HDFS 或共享文件系统。即使万一所有 Druid 服务器都发生故障,您也可以从深度存储中恢复数据。对于仅影响少数 Druid 服务器的有限故障,复制可确保在系统恢复期间仍可进行查询。
(7)Druid 使用 Roaring 或 CONCISE 压缩位图索引来创建索引,以实现跨多个列的快速过滤和搜索。
(8)基于时间的分区。Druid 首先根据时间对数据进行分区。基于时间的查询只访问与查询时间范围相匹配的分区,从而显著提高性能。
(9)近似算法使用。Druid 包含近似计数区分、近似排序以及近似直方图和定量的计算算法。这些算法提供有限制的内存使用,而且速度往往比精确计算快得多。在精确度比速度更重要的情况下,Druid 还提供精确计数区分和精确排序。
(10)摄取时自动汇总。Druid 可选支持在摄取时进行数据汇总。这种汇总可对数据进行部分预聚合,从而显著节约成本并提高性能。
三:什么场景下使用druid
(1)需求插入率非常高,单数据很少更新。
(2)您的大多数查询都是汇总和报告查询。例如 "分组" 聚合查询。
(3)目标查询延迟时间为 100 毫秒到几秒钟。
(4)数据包含时间。Druid 包括专门针对时间的优化和设计选择。
(5)数据列,基数大,比如url,用户id,需要进行快速的计数和排序
(6)您想从 Kafka、HDFS、普通文件或亚马逊 S3 等对象存储中加载数据。
四:什么场景下不适合使用druid
(1)需要使用主键对现有记录进行低延迟更新。Druid 支持流式插入,但不支持流式更新。您可以使用后台批处理作业来执行更新。
(2)您想进行 "大型 "连接,即连接一个大型事实表和另一个大型事实表,join的场景不适合

posted on   天生一对  阅读(62)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示