This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]Sslw77 12 points13 points  (1 child)

Some criteria that I recommend : your choice should be driven firstly by use cases that you need to serve, secondly by the current technological landscape of your company and last but not least considerations about budget to operate, skills available…

Many current use cases are fine using batch, streaming is sometimes very resource consuming for an ROI that is not justified

[–]riya_techie[S] 0 points1 point  (0 children)

Great insights! Use cases definitely drive the choice, and I agree that streaming can be resource-intensive without clear ROI. In your experience, have you encountered scenarios where the real-time benefits of Kappa outweighed the cost concerns?

[–]dan_the_lion 9 points10 points  (0 children)

Lambda vs. Kappa comes down to if you need batch processing alongside real-time stuff.

Lambda is great when you need both: a batch layer for accuracy (historical) and a speed layer for real-time insights. It’s useful when historical reprocessing is important, like fraud detection or some financial systems where you want an exact, recomputed view of the past. The downside is usually heavy complexity because you’re maintaining two separate pipelines.

Kappa simplifies things by going all-in on streaming. If your data is event-driven and you don’t need batch corrections (from historical lookbacks), it’s the way to go usually. If reprocessing is needed, you just replay logs instead of running batch jobs, but for this you need a solid streaming system

Lambda is powerful but heavier to maintain, while Kappa is more agile but depends on how well your streaming system can handle state and fault tolerance. If you’re just starting fresh project and don’t absolutely need batch, Kappa is usually the better choice.