【数仓项目】病树前头万木春-Druid

写在前面

lz由于电脑配置问题。。集群跑Druid崩了,跑不动,所以实践不了,但不影响lz对优秀的即席查询框架进行了解写一篇笔记呀~

接下来进入正题


Druid是一个快速的列示分布式的支持实时分析的数据存储系统。它在处理PB级数据,毫秒级查询(毫秒。。比presto的秒强。。可惜跑不动。。馋),数据实时处理方面,比传统的系统有显著的改进

Druid特点

1.列式存储
2.可扩展的分布式系统
3.大规模的并行处理
4.实时或批量摄取处理数据
5.自愈自平衡易操作(解释下:集群扩展和缩小只需要添加删除服务器,集群在后台会自动平衡,无需停机时间)
6.数据进行了有效的预聚合和预计算(我可能找到崩盘的罪魁祸首了),查询速度快
7.数据结果应用Bitmap压缩算法

应用场景

1.适合清洗好的数据实事录入,但不需要更新操作
2.是用于支持宽表,少或者不用join的方法(单表查询)
3.适用于可以总结出基础的统计指标,用一个字段表示
4.适用于实时性要求高的场景
5.适用于对数据质量不敏感的场景

架构原理

Druid中有如下角色:
1.MiddleMannager Nodes:中间管理节点,及时摄入实时数据 生成segment文件
2.Historical Nodes:历史节点,加载已生成的数据文件,以供数据查询,是整个查询性能的核心所在,会承担绝大部分的segment查询
3.Broker Nodes:查询节点,接受客户端的查询请求,并发给HN和MN,当其收到查询结果时会将这些结果合并后返回给调用者,运用了缓存技术
4.Coordinator Nodes:协调节点,主要负责历史节点的负载均衡以及通过规则管理数据的生命周期
5.Overlord Nodes:统治者,进程监视MN的进程,并且是数据摄入Druid的控制器,他们负责提取任务分配给MN并协调Segment发部
6.Deep Storage:数据存储文件,存放segment数据文件并提供历史服务器下载,对于单节点集群可以是本地磁盘,而对于分布式一般是HDFS
7.MetaData Storage:元数据库,同理hive,存储元数据信息,一般用mysql
8.zk:为Druid提供协调服务,如内部服务的监视,协调和领导者选举


剩余的有关于实践的部分会在以后有了新的设备后进行更新~

×

纯属好玩

扫码支持
谢谢你

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 写在前面
    1. 1.1. Druid特点
    2. 1.2. 应用场景
    3. 1.3. 架构原理
,