kafka中的数据清理策略

Kafka 中的数据清理策略主要用于控制数据的保留时间和存储空间,确保系统不会因为数据积累过多而影响性能。Kafka 提供了两种主要的数据清理策略:

1、基于时间的清理策略:

  • 配置参数:log.retention.hours 或 log.retention.ms
  • 工作原理:Kafka 会根据配置的时间阈值自动删除超过该时间的消息。
  • 示例:如果设置 log.retention.hours=72,则 Kafka 会删除超过72小时的消息。

2、基于大小的清理策略:

  • 配置参数:log.retention.bytes
  • 工作原理:Kafka 会根据配置的存储空间阈值自动删除最早的消息,以确保每个分区的总大小不超过设定的值。
  • 示例:如果设置 log.retention.bytes=1073741824,则 Kafka 会确保每个分区的总大小不超过1GB,超出部分的最早消息将被删除。

Kafka的消息存储在磁盘中,为了控制磁盘占用空间,Kafka需要不断地对过去的一些消息进行清理工作。Kafka的每个分区都有很多的日志文件,这样也是为了方便进行日志的清理。在Kafka中,提供两种日志清理方式:

  • 日志删除(Log Deletion):按照指定的策略直接删除 不符合条件的日志。
  • 日志压缩(Log Compaction):按照消息的key进行整合,有相同key的但有不同value值,只保留最后一个版本。
相关推荐
lifallen1 分钟前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase
William一直在路上11 分钟前
主流分布式中间件及其选型
分布式·中间件
茫茫人海一粒沙13 分钟前
理解 Confluent Schema Registry:Kafka 生态中的结构化数据守护者
分布式·kafka
weixin_4383354017 分钟前
分布式定时任务:Elastic-Job-Lite
分布式·elasticjoblite
Brookty1 小时前
【MySQL】JDBC编程
java·数据库·后端·学习·mysql·jdbc
先做个垃圾出来………2 小时前
SQL的底层逻辑解析
数据库·sql
码不停蹄的玄黓2 小时前
深入拆解MySQL InnoDB可重复读(RR)隔离级别:MVCC+临键锁如何「锁」住一致性?
数据库·mysql·可重复读
paopaokaka_luck2 小时前
基于SpringBoot+Vue的酒类仓储管理系统
数据库·vue.js·spring boot·后端·小程序
薛晓刚3 小时前
哪个领域数据库最难替换?
数据库
dessler3 小时前
Kafka-消费者(Consumer)和消费者组(Consumer Group)
linux·运维·kafka