Hacker News new | ask | show | jobs
by lmm 1831 days ago
I'd recommend Kafka for any case where you need to act on data that changes over time - almost any software system. In almost every system you want to be able to reliably record events, and you want to be able to partially replay your state in a deterministic way (e.g. after you fix a bug); both those things should be table stakes for a serious datastore, but AFAIK Kafka is practically the only one that offers them.

Kafka itself kind of only solves half the problem, because it doesn't offer indexes as a builtin, so you have to build your indexed state yourself, or maybe even use a "traditional" datastore as a de facto cache. But since you've moved all the hard distributed part of the problem into kafka, that part is not so bad.