当前位置: 首页 > java >正文

rocketmq索引

索引的理解

索引是什么, 索引实质是 相同数据的另一种存储结构
我们都知道读和写天然是存在矛盾的, 我们希望写的快,当然是顺序写的性能最高, 顺序写造成数据杂乱无章,没法按照一定的规律去找数。

如果想要找数的效率高, 必须要有结构组织的存放数据, 这样方便按规律找,业务需求又是多样的, 按照不同的查询诉求, 会对同一份数据异构成多份组织结构, 即多份索引,这样造成写入慢,读取快

rocketmq的索引

对于rocketmq的存储体系 commitLog和 comsumeQueue,就类型 聚簇索引 (全量数据)和二级索引的关系。 这是一种topic, queueid, offset构成的二级索引

如果想根据消息时间msgkey这个维度来查询消息,就需要另外创建一种索引结构

每个Broker中会包含一组indexFile,每个indexFile都是以一个时间戳命名的(这个indexFile被创建时 的时间戳)。

每个indexFile文件由三部分构成:indexHeaderslots槽位indexes索引数据。

每个 indexFile文件中包含500w个slot槽。而每个slot槽又可能会挂载很多的index索引单元。

indexFile的文件结构如下:

其中slots中的每个slot槽挂载的index索引单元都来源于indexes区中

整体文件结构

http://www.xdnf.cn/news/12315.html

相关文章:

  • 《最长公共子序列》题集
  • Educational Codeforces Round 179 (Rated for Div. 2)
  • 2025年5月月赛 乙组T1~T3
  • RPG22.处理武器碰撞
  • 所有CSS选择器
  • 2025爱分析·银行数字化应用实践报告|爱分析报告
  • 策略梯度核心:Advantage 与 GAE 原理详解
  • 苍穹外卖|学习笔记|day06
  • Day13
  • Grafana-ECharts应用讲解(玫瑰图示例)
  • 定时任务的 cron 表达式
  • OpenEuler24.03 部署RagFlow学习记录(PVE虚拟化环境)
  • 实验科学中策略的长期效应评估学习笔记
  • Day45 Python打卡训练营
  • 图像分割算法入门:从基础到FCN
  • Bean的作用域
  • 代付系统:功能解析与多场景应用深度解读
  • 8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)
  • 软考 系统架构设计师系列知识点之杂项集萃(81)
  • Spring Bean是否是线程安全的
  • 虎扑正式易主,迅雷完成收购会带来什么变化?
  • Postman常见问题及解决方法
  • 红花基因组2-文献精读141
  • springBoot服务之间的转发
  • el-tabs 切换时数据不更新的问题
  • 驱动:字符驱动操控硬件
  • freeRTOS中断中为什么不能进行任务切换2
  • 基于红黑树的插入功能,对Set和Map部分功能进行封装实现
  • 打造智慧医疗枢纽,香港维尔利引领东南亚健康科技升级
  • 八:操作系统设备管理之RAID