Lambda makes you write every metric twice. Kappa's price is the replay.
transcript
You write the revenue metric. Then you write it again. And the two versions disagree. That's Lambda's real price.
Lambda runs two layers. Every event goes to both. Spark runs the batch, hourly or daily. Accurate. The source of truth. Flink fills the gap since the last batch. Fast, but approximate. The serving layer merges them at query time.
It's 2:30. The batch ran at noon: 50,000 dollars. The speed view covers noon until now: 12,000. Add them: 62,000 dollars. Clever.
But here's the catch. You wrote that aggregation twice. Once in Spark, once in Flink. Then you hope they match. They often don't.
Kappa keeps only the stream. One immutable log. One codebase. New logic? Start V2 reading from the beginning of the log. V1 keeps serving. When V2 catches up, switch over.
Kappa's price is the replay. Keep a year of data: a billion events. Replay at 100,000 events a second. 10,000 seconds. About 3 hours. And it grows with your history.
Petabytes of history? A replay takes far too long. Keep Lambda. Otherwise, Kappa's one codebase often wins. Same logic, same results.
Full breakdown in the lecture.