apache-kafka - Kafka - 未压缩主题与压缩主题
问题描述
我从“Mastering Kafka Streams and ksqlDB”一书中看到以下两个短语,作者使用了两个术语,它们的真正含义是“压缩主题”和“未压缩主题”
他们对“日志压缩”有什么帮助吗?
表可以被认为是对数据库的更新。在此日志视图中,仅保留每个键的当前状态(给定键的最新记录或某种聚合)。表通常由压缩主题构建。
流可以被认为是数据库用语中的插入。每个不同的记录都保留在此日志视图中。流通常由未压缩的主题构建。
解决方案
是的,log compaction
根据 kafka 文档
日志压缩确保 Kafka 将始终为单个主题分区的数据日志中的每个消息键至少保留最后一个已知值
https://kafka.apache.org/documentation/#compaction
如果在主题上启用了日志压缩,当分区日志中存在具有相同键的新版本时,Kafka 会删除所有旧记录。
有关日志压缩的更详细说明,请参阅 - https://medium.com/swlh/introduction-to-topic-log-compaction-in-apache-kafka-3e4d4afd2262
推荐阅读
- ksqldb - KSQL:尝试从流中选择 * 时出现杰克逊错误
- python - 从列表中删除项目的意外行为
- python - Tkinter 如何调整旋转框的大小
- javascript - 'DeprecationWarning: Collection#find: 传递一个函数'
- react-native - 使用 React Hooks 更新位置会出现错误:更新由 AIRMAP 管理的视图的“区域”时出错
- python - Python:如何使用逗号分隔的字符串值在对象变量中拆分不同大小的列表?
- java - 中止詹金斯作业不会停止在后台运行的硒脚本
- javascript - Node.js - 在继续之前从 MySQL 获取返回值
- angular - 如何将数据发布到具有角度 8 关系的表中
- tensorflow - 如何在 TensorFlow 中提取这种切片?