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

这篇具有很好参考价值的文章主要介绍了【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

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

Cluster

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

【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster
我们已经在第一章篇文章里面大概讲述了每个节点的作用和每个节点相互工作的。

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。这样会导致在实时表多的情况下会出现集群毛刺问题。流程图如下
【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster
毛刺图如下,整点的时候会出现耗时上涨。怀疑是跟这个配置有关系。
【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster

当然可以从配置侧入手解决这个问题,链接参数文章 在这里,可以通过这个调整自己的配置达到下图的工作流程
【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster

OFFLINE 上传 Segment

批处理上传 Segment 没有那么复杂,就是通过官方提供的 jar 生成对应的 Segment 在把 Segment 上传到配置好的 Deep Store 中。
【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster

总结

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

【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster文章来源地址https://www.toymoban.com/news/detail-478983.html

到了这里,关于【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue 全局状态管理(简单的store模式、使用Pinia)

    多个组件可能会依赖同一个状态时,我们有必要抽取出组件内的共同状态集中统一管理,存放在一个全局单例中,这样任何位置上的组件都可以访问其中的状态或触发动作 通过自定义一个store模式实现全局的状态管理,实例如下 有两个组件a、b共享store和store2两个状态,我们

    2024年02月13日
    浏览(50)
  • 简单聊聊低代码

    在数字经济迅速发展的背景下,越来越多的企业开始建立健全业务系统、应用、借助数字化工具提升管理效率,驱动业务发展,促进业绩增长。在这一过程中,和许多新技术一样,低代码(Low-code)开发被推上了“风口”。今天,借着这个机会,来聊聊低代码。 百度百科上面

    2024年02月08日
    浏览(27)
  • 简单聊聊Kafka的Consumer

    我们知道消息队列一般有两种实现方式,(1)Push(推模式) (2)Pull(拉模式),那么 Kafka Consumer 究竟采用哪种方式进行消费的呢? 其实 Kafka Consumer 采用的是主动拉取 Broker 数据进行消费的即 Pull 模式 。这两种方式各有优劣,我们来分析一下: 1)、为什么不采用Push模式?**如果是选择

    2024年01月15日
    浏览(39)
  • 聊聊设计模式--简单工厂模式

    ​ 前面也学了很多各种微服务架构的组件,包括后续的服务部署、代码管理、Docker等技术,那么作为后端人员,最重要的任务还是代码编写能力,如何让你的代码写的漂亮、易扩展,让别人一看赏心悦目,那么设计模式就是很重的了。那么本本篇文章就来聊聊一个简单的工厂

    2024年02月07日
    浏览(43)
  • 简单聊聊Https的来龙去脉

    使用明文通信,通信内容可能会被监听 不验证通信双方身份,因此可能会遭遇伪装 无法验证报文完整性,可能会遭到中间人攻击,从而篡改请求和响应报文中的内容 Http 协议直接和TCP进行通信,而 Https 在 Http 和 Tcp 之间加了一层 SSL 实现加密传输 : SSL ( Secure Socket Layer ) 安全

    2024年02月10日
    浏览(41)
  • 聊聊简单又不简单的图上多跳过滤查询

    摘要: 多跳查询能力也是一个衡量产品性能非常重要的指标。 本文分享自华为云社区《聊聊超级快的图上多跳过滤查询》,作者:弓乙。 在图数据库/图计算领域,多跳查询是一个非常常用的查询,通常来说以下类型的查询都可以算作是多跳过滤查询: 如下图,可用3跳查询

    2023年04月13日
    浏览(33)
  • 高频golang面试题:简单聊聊内存逃逸?

    知道golang的内存逃逸吗?什么情况下会发生内存逃逸? golang程序变量会携带有一组校验数据,用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验,它就可以在栈上分配。否则就说它 逃逸 了,必须在堆上分配。 能引起变量逃逸到堆上的典型情况:

    2024年02月09日
    浏览(41)
  • 简单聊聊Echarts伪3D地图实现的相关配置

    知识和技能真的是用进废退,还是得多实践,才不至于遗忘。 目录 前言 二、实现原理 三、从0开始实现 1.目录结构 2.地图JSON数据获取 3.具体实现,重头戏 3.一些常见问题的解决方法 总结 本文简单来聊一聊Echarts伪3D地图的实现,只分离出最底层的伪3D效果,删除了其余的上层

    2024年02月06日
    浏览(127)
  • 聊聊后端Web开发框架(Python)的简单使用

    后端 web 开发框架的技术如下: 页面渲染:客户端渲染页面(SPA)、服务端渲染页面(模板技术) 数据库连接技术:数据库连接池、数据访问 服务管理:接口、路由、权限 异步任务调度:异步、同步、回调 最早服务端会对页面进行渲染,随着发展,前端渲染与服务端分离开

    2024年02月05日
    浏览(46)
  • 简单聊聊G1垃圾回收算法整个流程 --- 理论篇 -- 下

    上一篇 文章我们简单看了一下G1整个垃圾回收流程,但是关于G1如何计算区域回收价值和G1在分代模式下的工作流程这块,由于篇幅限制没有进行说明,本文主要针对这两块内容进行补齐。 在 G1GC 中,用户可以设置如下 3 个值: 可用内存上限 GC 暂停时间上限 GC 单位时间 设置

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包