Kafka数据存储流程和log日志介绍-初级入门(六)

Kafka采用分片和索引机制优化数据存储,每个partition被划分为多个segment,每个segment包含log和index文件。index文件采用稀疏存储,每隔一定字节建立索引,节省内存。当log数据文件达到1GB(默认配置)时,会创建新的segment。这种设计在查询时可能需要小范围顺序扫描,但降低了索引文件的资源占用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Kafka 采取了分片和索引机制,将每个partition分为多个segment,每个segment对应2个文件 log 和 index

index文件中并没有为每一条message建立索引,采用了稀疏存储的方式
每隔一定字节的数据建立一条索引,避免了索引文件占用过多的空间和资源,从而可以将索引文件保留到内存中
缺点是没有建立索引的数据在查询的过程中需要小范围内的顺序扫描操作。

 二、segment的创建时机是什么时候?

/bin/server.properties

# The maximum size of a log segment file. When this size is reached a new log segment will be created.
默认是1G,当log数据文件大于1g后,会创建一个新的log文件(即segment,包括index和log)
log.segment.bytes=1073741824

#分段一 初始进来阶段
00000000000000000000.index  00000000000000000000.log
#分段二 数字 1234指的是当前文件的最小偏移量offset,即上个文件的最后一个消息的offset+1
00000000000000001234.index  00000000000000001234.log
#分段三
00000000000000088888.index  00000000000000088888.log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值