ClickHouse 源代码分析:插入去重

ClickHouse 源代码分析:插入去重

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

本文讨论了ClickHouse的去重设置,包括去重窗口配置、异步插入去重及物化视图中的去重。通过示例说明不同表间数据不去重,并探讨插入去重令牌在物化视图中的有效性。

🎯

关键要点

  • 本文讨论了ClickHouse的去重设置,包括去重窗口配置、异步插入去重及物化视图中的去重。
  • 去重窗口配置包括replicated_deduplication_window和non_replicated_deduplication_window等参数。
  • 异步插入去重通过设置async_insert_deduplicate来控制。
  • 物化视图中的去重通过deduplicate_blocks_in_dependent_materialized_views参数进行控制。
  • 插入去重令牌insert_deduplication_token用于替代数据摘要进行重复检测。
  • 不同表间的数据不会被去重,每个表都有自己的去重日志。
  • replicated_deduplication_window用于控制存储在ZooKeeper中的block_ids数量。
  • async_insert_deduplicate用于在复制表中进行异步插入的去重。
  • 在物化视图中,源数据不同则不会进行去重。
  • 测试表明,使用insert_deduplication_token可以有效避免重复数据的插入。
➡️

继续阅读