时序数据库 druid 简介之整体架构

Druid是一个用于分析时序数据的系统,擅长OLAP,设计时考虑了分布式、扩展性和可靠性。它将处理流程划分为多个组件,包括Indexer、Historical Node、Coordinator Node和Broker Node。Indexer负责数据索引,Historical Node存储和处理查询,Coordinator Node协调工作,Broker Node解析查询并聚合结果。数据持久化在Deep Storage,元数据存储在Metadata Storage。
摘要由CSDN通过智能技术生成

druid (http://druid.io/)是设计用来分析时序数据,对OLAP提供支持。设计的时候就考虑到分布式的一些基本问题, 比如扩展性, 可靠性等问题。虽然文档比较糟心, 但是功能还是有一定吸引力的。


druid 的设计思想是把时序数据分析这个任务分成几个处理步骤, 建立相关的组件, 每个组件只集中精力处理自己的任务。那么我们也根据一个时序数据的处理流程来了解一下druid的主要几个组件。

时序数据因为从产生的那一刻起就需求被查询, 所以时序数据的索引应该是数据注入到系统的同时生成, 在druid里, 完成这部分功能的组件叫 indexer。用户提交一个任务(task)给indexer,告诉indexer一些基本信息, 比如数据来源, 数据的结构(schema), 数据如何分片等信息。如果是指定数据来源于kafka 这样的消息服务, indexer 可以自己从kafka 里拉取数据到自己内存,并且在内存里建立相关索引。 数据也可以通过应用程序直接发送给 indexer, 从 kafka 拉取这种方式是druid早期的方式, 那个时候, indexer 这个角色是由 realtime node 来扮演, 这种方式因为高可靠性的考虑(以后另写文章来解释)已经废弃不用, 目前实时数据主要采用通过应用程序推的方式push到indexer node。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值