首页 > 解决方案 > Kafka - 未压缩主题与压缩主题

问题描述

我从“Mastering Kafka Streams and ksqlDB”一书中看到以下两个短语,作者使用了两个术语,它们的真正含义是“压缩主题”和“未压缩主题”

他们对“日志压缩”有什么帮助吗?

表可以被认为是对数据库的更新。在此日志视图中,仅保留每个键的当前状态(给定键的最新记录或某种聚合)。表通常由压缩主题构建。

流可以被认为是数据库用语中的插入。每个不同的记录都保留在此日志视图中。流通常由未压缩的主题构建。

标签: apache-kafkaconfluent-platform

解决方案


是的,log compaction根据 kafka 文档

日志压缩确保 Kafka 将始终为单个主题分区的数据日志中的每个消息键至少保留最后一个已知值

https://kafka.apache.org/documentation/#compaction

如果在主题上启用了日志压缩,当分区日志中存在具有相同键的新版本时,Kafka 会删除所有旧记录。

有关日志压缩的更详细说明,请参阅 - https://medium.com/swlh/introduction-to-topic-log-compaction-in-apache-kafka-3e4d4afd2262


推荐阅读