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

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.lryc.cn/news/2401616.html

相关文章:

  • [蓝桥杯]倍数问题
  • 定时任务的 cron 表达式
  • 【MySQL】 约束
  • MySQL 的 redo log 和 binlog 区别?
  • 前端vue打开多个窗口,关闭窗口后才继续执行后续逻辑
  • 「深度拆解」Spring Boot如何用DeepSeek重构MCP通信层?从线程模型到分布式推理的架构进化
  • 如何避免在前端项目中出现重复的第三方依赖包?
  • Java开发中复用公共SQL的方法
  • 【西门子杯工业嵌入式-2-点亮一颗LED】
  • 代码随想录算法训练营第60期第五十五天打卡
  • 重磅更新! 基于Gemini 2.5 Pro打造的AI智能体PlantUML-X上线!
  • [5-02-04].第01节:Jmeter环境搭建:
  • AI智能推荐实战之RunnableParallel并行链
  • windows server2019 不成功的部署docker经历
  • Gemini开源项目DeepResearch:基于LangGraph的智能研究代理技术原理与实现
  • React状态管理Context API + useReducer
  • 【无标题】路径着色问题的革命性重构:拓扑色动力学模型下的超越与升华
  • Doris Catalog 联邦分析查询性能优化:从排查到优化的完整指南
  • 01 Deep learning神经网络的编程基础 二分类--吴恩达
  • 视频自动化分割方案:支持按时间与段数拆分
  • Open SSL 3.0相关知识以及源码流程分析
  • 股指期货合约价值怎么算?
  • 【QT】使用QT帮助手册找控件样式
  • 计算机网络(5)——数据链路层
  • VuePress完美整合Toast消息提示
  • JVM 调优参数详解与实践
  • adb 连不上真机设备问题汇总
  • [yolov11改进系列]基于yolov11引入注意力机制SENetV1或者SENetV2的python源码+训练源码
  • 鸿蒙仓颉语言开发实战教程:商城搜索页
  • 上门服务小程序会员系统框架设计