清理 ClickHouse 重复行的 REPLACE PARTITION runbook
ClickHouse 没有 UPSERT,清掉重复行要把整个日分区重写一遍再原子换进去。runbook 本体只有五条 SQL,跑之前要验的更多:两张表会不会指到同一个 Keeper 路径、分区 ID 怎么加引号、三个副本同步没有、分区是不是静止的。
ClickHouse 没有 UPSERT,清掉重复行要把整个日分区重写一遍再原子换进去。runbook 本体只有五条 SQL,跑之前要验的更多:两张表会不会指到同一个 Keeper 路径、分区 ID 怎么加引号、三个副本同步没有、分区是不是静止的。
ReplicatedMergeTree 默认记住最近 1000 个插入块,重投的那批内容和 token 都没变,本该被认出来。这张表三个副本每秒建 124 个块,1000 个块折合 8 秒,而重投的间隔是 32 到 124 秒。
同一个业务键在 ClickHouse 里出现两行完全一样的数据,写入时间相差 30 秒到两分钟。前一天吞吐掉到常态零头的十几个小时一行重复都没有,出重复的是第二天吞吐看着正常、Keeper 在途请求涨到几千的那三个小时。
Spring Boot 的 Maven 插件不写 Dockerfile 也能出镜像,代价是 JRE 版本、堆大小、镜像里装不装 shell 全由 buildpack 替你定,512MB 的容器会直接起不来。
两种 VPC endpoint 只有在 S3 和 DynamoDB 上才有得选,其余服务只有 interface 一种。一个靠路由表里的 prefix list 生效,一个靠子网里的 ENI 和私有 DNS,分界在请求来源和客户端连的名字上。