聚合是函数而非累加和

An Aggregate Is a Function, Not a Sum

我在处理销售收据流时,尝试了四种方案来构建报告,却屡战屡败。Kafka 的至少一次交付导致重复数据,离线设备造成数据延迟,而系统重启又让状态丢失。传统的累加和无法应对重复,重算全表又太慢,记忆所有键值则内存爆炸。最终我们意识到,聚合不应是插入时的累加,而应是一个基于原始文档的函数。通过将数据按特定顺序存储在 ClickHouse 的窄表中,我们实现了无需记忆键值即可处理重复和延迟数据的方案,让报告既准确又高效。

聚合是一个函数,而不是累加和。

同日更多故事

2026-11-10