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值,只保留最后一个版本。
相关推荐
得物技术1 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维5 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉6 小时前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud21 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud21 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
深圳蔓延科技1 天前
Kafka的高性能之路
后端·kafka
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
努力的小郑1 天前
从一次分表实践谈起:我们真的需要复杂的分布式ID吗?
分布式·后端·面试
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
AAA修煤气灶刘哥2 天前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端