在一次数据排查中发现 ClickHouse 存在数据丢失现象。通过代码、日志分析排除了程序问题,并进一步发现问题出在 ReplicatedReplacingMergeTree 存储引擎。表的 ORDER BY
组合键中部分字段值可能导致多条数据被错误聚合,尤其是在高并发场景下。
具体原因是 order_no
字段部分数据存储了外部时间戳,导致字段值重复,触发了 ClickHouse 的数据聚合机制。验证后发现,若修改某个字段值,数据可正常插入。
解决方案 :在 ORDER BY
中新增 id
列,确保每条数据唯一,从而避免数据被错误聚合。