Skip to main content
这些设置可在 system.merge_tree_settings 中查看,且由 ClickHouse 源代码自动生成。

replicated_deduplication_window

ClickHouse Keeper 为最近插入的块存储哈希和,用于检查重复项;该设置指定这类块的数量。 可能的值:
  • 任意正整数。
  • 0 (禁用去重)
对于插入去重, 在向复制表写入时,ClickHouse 会将去重哈希和写入 ClickHouse Keeper。哈希和仅为最近的 replicated_deduplication_window 个块保存。更早的哈希和会从 ClickHouse Keeper 中移除。 哈希和覆盖整个已插入块,因此只有当一次插入的 全部数据与之前某次插入 (即一次重试) 完全一致时,该次插入才会被去重,而不是按单个分片去重。 replicated_deduplication_window 的值过大会拖慢 Inserts,因为需要比较更多 条目。

replicated_deduplication_window_for_async_inserts

这是一个为混合版本滚动升级保留的旧版设置。新的插入操作会使用由 replicated_deduplication_window 控制的统一哈希进行去重;现在,这个设置仅用于限制在 ClickHouse Keeper 的 async_blocks 目录中保留多少旧版 async-insert 哈希值。这些哈希值在滚动升级期间仍会由较旧的副本写入,并由当前 leader 清理。 值为 0 时将一个也不保留——下一轮清理会移除所有 entry——因此,为了在升级期间保留旧版 async 去重窗口,请保持默认值 (或使用更大的值) 。

replicated_deduplication_window_seconds

插入块的哈希和在从 ClickHouse Keeper 中移除前保留的秒数。 可能的值:
  • 任意正整数。
replicated_deduplication_window 类似, replicated_deduplication_window_seconds 指定用于插入去重的块哈希和应保留多长时间。早于 replicated_deduplication_window_seconds 的块哈希和会从 ClickHouse Keeper 中移除, 即使它们尚未超过 replicated_deduplication_window 这里的时间是相对于最近一条记录的时间,而不是相对于实际时钟时间。 如果这是一条唯一的记录,它将被永久保留。

replicated_deduplication_window_seconds_for_async_inserts

为混合版本滚动升级而保留的旧版设置。它与 replicated_deduplication_window_for_async_inserts 一起,限定了旧版哈希值 在 ClickHouse Keeper 的 async_blocks 目录中保留的时长 (这些哈希由较旧的副本在 滚动升级期间写入,并由当前 leader 清理) 。新的插入操作使用 replicated_deduplication_window_seconds
最后修改于 2026年7月23日