[英]Kafka - uncompacted topics Vs compacted topics
我在“Mastering Kafka Streams and ksqlDB”一書中遇到了以下兩個短語,作者使用了兩個術語,它們的真正含義是“壓縮主題”和“未壓縮主題”
他們對“日志壓縮”有什么幫助嗎?
表可以被認為是對數據庫的更新。 在此日志視圖中,僅保留每個鍵的當前 state(給定鍵的最新記錄或某種聚合)。 表通常由壓縮主題構建。
流可以被認為是數據庫用語中的插入。 每個不同的記錄都保留在此日志視圖中。 流通常由未壓縮的主題構建。
是的,根據 kafka 文檔進行log compaction
日志壓縮確保 Kafka 將始終為單個主題分區的數據日志中的每個消息鍵至少保留最后一個已知值
https://kafka.apache.org/documentation/#compaction
如果在主題上啟用了日志壓縮,當分區日志中存在具有相同鍵的新版本時,Kafka 會刪除所有舊記錄。
有關日志壓縮的更詳細說明,請參閱 - https://medium.com/swlh/introduction-to-topic-log-compaction-in-apache-kafka-3e4d4afd2262
是的,這些術語是同義詞。
參考:日志壓縮
從這篇文章:
壓縮主題背后的想法是不存在重復的鍵。 僅維護消息密鑰的最新值。
多用於應用程序崩潰或系統故障前恢復到之前的state,或應用程序重啟后重新加載緩存等場景。
作為上述 kafka 的示例,主題__consumer_offsets
可用於從崩潰或重啟后讀取的最后一條消息繼續。 模式注冊表也經常用於確保生產者和消費者之間的兼容通信。 使用的模式在__schemas
主題中維護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.