ClickHouse 没有 UPSERT,清掉重复行要把整个日分区重写一遍再原子换进去。runbook 本体只有五条 SQL,跑之前要验的更多:两张表会不会指到同一个 Keeper 路径、分区 ID 怎么加引号、三个副本同步没有、分区是不是静止的。
Posts for: #ClickHouse
ClickHouse 的块级去重窗口
ReplicatedMergeTree 默认记住最近 1000 个插入块,重投的那批内容和 token 都没变,本该被认出来。这张表三个副本每秒建 124 个块,1000 个块折合 8 秒,而重投的间隔是 32 到 124 秒。
ClickHouse 里的重复行来自 Kafka Connect 超时重投
同一个业务键在 ClickHouse 里出现两行完全一样的数据,写入时间相差 30 秒到两分钟。前一天吞吐掉到常态零头的十几个小时一行重复都没有,出重复的是第二天吞吐看着正常、Keeper 在途请求涨到几千的那三个小时。
用只读权限评审 ClickHouse 补数方案
同事准备用 mutation 修复 ClickHouse 表里写坏了 18 天的一列,我在评审方案的同时用只读连接把表的现状摸了一遍,意见主要提在回滚上。