Un agregado no es una suma: es una función de sus documentos
An Aggregate Is a Function, Not a Sum
En un sistema de recibos de caja que llegan por Kafka y se guardan en ClickHouse, los totales fallaban por tres motivos: los documentos llegan duplicados, llegan con semanas de retraso y el pipeline se cae. Tras cuatro intentos fallidos, el autor deja de sumar lo insertado y trata cada agregado como una función de sus documentos: una celda se recalcula cuando llega un documento nuevo y los duplicados se colapsan por clave. Así sobrevive a reintentos y retrasos sin recordar cada clave.
La segunda inserción suma al total en lugar de reemplazarlo. Nada en el total indica qué 500 se contaron dos veces.