Compaction оставляет для каждого ключа последнюю запись в партиции (удаляет устаревшие версии ключа), полезно для changelog/state топиков.
Разбор
- Не заменяет timed retention полностью — часто комбинируют.
- Tombstone (null value) помечает удаление ключа.
- Порядок по ключу важен: key обязателен.
- Используют для materialized views / KTables.
Итог
Compaction хранит последнее состояние по ключу, а не полный journal навсегда.