5.算法进阶——kafka消息查询(二分法)——稀疏索引与B+树索引的对比

本文介绍了Kafka的分布式消息系统特性,探讨了如何在已知offset的情况下通过日志索引查找消息。文章讨论了Kafka采用的稀疏索引相对于B+树索引的优势,包括节省空间和利用二分法提高查询效率。同时,解释了为何Kafka选择不支持删改操作的稀疏索引,以及MySQL为何使用支持删改的B+树索引。
摘要由CSDN通过智能技术生成

Kafka介绍

Kafka 是一款性能强大且相当常用的分布式消息队列,常常用于对流量进行消峰、解耦系统和异步处理部分逻辑以提高性能的场景。
在kafka中,所有的消息都以日志的形式存储。这种日志只允许追加新数据,不允许修改之前文件内容

日志文件的存储方式:每个topic有多个partition,每个patition有多个有序日志段
在这里插入图片描述

已知offset,如何查找日志

即如何为日志文件建立一个索引,这里很关键的一个问题在于offset是自然线性增长的,是有序的

我们来看一个topic中一个patition的日志文件格式:


00000000000000000000.log //消息体本身日志
00000000000000000000.index //索引
00000000000000000000.timeindex //时间索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值