Comparisons

Pairs that get conflated in real conversations. Neither column wins — what decides is the requirement, and each record leads with the confusion, because the confusion is the reason the record exists at all.

Lambda vs Kappa

What people get wrong about this pair

Kappa is presented as the simpler successor. It removes the duplicate implementation and replaces it with a demand that the log retain everything you might ever need to reprocess, and that the stream job be able to reprocess history at a rate batch used to.

Lambda
Use it when

You have an existing batch platform that is correct, and a streaming path is being added for freshness without betting the correctness on it.

Kappa
Use it when

One stream processing path, with replay used for reprocessing, and no second implementation to keep in agreement.

DimensionLambdaKappa
Implementations of the logicTwo — batch and speed — which must agreeOne
ReprocessingThe batch layer does it, as it always didReplay the log through the same job
What it demands of the logLittle; the batch layer owns historyRetention long enough to rebuild anything
Where it goes wrongThe two paths drift and produce different numbersA replay of a year through a streaming job is not a small operation