by lkrubner on 3/9/2025, 4:08:55 PM with 1 comments
I ask in all seriousness. I have the impression that when Kafka was first adapted by organizations, many organizations were looking for a place in their data flows where they could store documents instead of fully normalized data, and Kafka emerged as a respectable answer.
Emphasis: I am not asking if MongoDB is better than Kafka. I am asking, if your organization is already using MongoDB, is there any reason to also use Kafka? Is it easier to simply press MongoDB into service in a similar manner (similar to Kafka)? One can have log-like append-only collections in MongoDB.
Back in 2013, Jay Kreps explained his reasons for creating Kafka:
I don’t believe this question can be answered without knowing what you intend to use it for. Just because a technology can be used to do something doesn’t mean it’s the best choice.
I ask in all seriousness. I have the impression that when Kafka was first adapted by organizations, many organizations were looking for a place in their data flows where they could store documents instead of fully normalized data, and Kafka emerged as a respectable answer.
Emphasis: I am not asking if MongoDB is better than Kafka. I am asking, if your organization is already using MongoDB, is there any reason to also use Kafka? Is it easier to simply press MongoDB into service in a similar manner (similar to Kafka)? One can have log-like append-only collections in MongoDB.
Back in 2013, Jay Kreps explained his reasons for creating Kafka:
https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying
I first read that essay in 2013. I just read it again, and it occurs to me that I can use MongoDB for everything he describes.
So under what conditions would I still want to bring in Kafka?