【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster

背景

前面3篇文章讲解了 Pinot 用的最多的几个组件,现在就聊最后剩下的两个,一个是 Cluster,另外一个就是 Deep Store。

Cluster

其实 Cluster 比较简单,就是一个概念的集合,他说有 Server,Broker 和 Controller 组成的。

在这里插入图片描述
我们已经在第一章篇文章里面大概讲述了每个节点的作用和每个节点相互工作的。

Minion

根据我跟开发者的聊天下来,发现这个功能主要是做 Segment 的管理,解决 Segment 数量过多导致查询变慢的场景。具体得笔者把版本升上去之后在看看效果。因为自己可以开个定时任务去合并历史 Segment,所以这个功能在我这块暂时不是非常重要。是否有坑等笔者测试之后再来开坑。0.12.1 版本之前应该只能用在离线表上面,0.12.1以后包含 0.12.1 是增加了实时表的功能。

Deep Store

在 Pinot 中,Deep Storage 就是存储 Segment 的组件。无论是离线还是实时的 Segment 都会上传到 Deep Store 上。如果后期 Server 扩容,Server 重启或者 Table 重新迁移之后,Server 可以从 Deep Store 上面把 Segment download 下来到本地 Server 上。

REALTIME 上传 Segment

在实时表场景下,Server 会消费 kafka 的数据存储到本地磁盘,然后统一通过 Controller 传给 Deep Store。这样会导致在实时表多的情况下会出现集群毛刺问题。流程图如下
在这里插入图片描述
毛刺图如下,整点的时候会出现耗时上涨。怀疑是跟这个配置有关系。
在这里插入图片描述

当然可以从配置侧入手解决这个问题,链接参数文章 在这里,可以通过这个调整自己的配置达到下图的工作流程
在这里插入图片描述

OFFLINE 上传 Segment

批处理上传 Segment 没有那么复杂,就是通过官方提供的 jar 生成对应的 Segment 在把 Segment 上传到配置好的 Deep Store 中。
在这里插入图片描述

总结

这四篇文章已经基本让我们了解 Apache Pinot 内部的组件是什么,功能篇基本都写完。学完上面这些概念,你应该就能看懂下面的流程图了。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值