-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why store in DynamoDB when you have Kafka? #7
Comments
Doesn't Kafka only persist to some SLA that is usually in the range of days or weeks? While I guess you could configure it to be permanent (I'm not really sure), it doesn't seem to really be suited as a perpetual database. And then there are queries... |
@greywolve Neverfox is correct. Kafka is designed to store data on the order of days, not forever. It is also not a typically queryable datastore. Think of it as an awesome pipe to shove things through on their way to somewhere else. |
TBF, Kafka's own documentation says that it is suited for being an ES, if you set the persistence level to "forever". And since I'm not 100% on where queries have a place against the raw ES, it's possible that the OP has a point. |
Sorry - A bit late to the party on this one. The primary reason is that storage is dirt cheap, and you don't have to worry about the scale down the line. The basic querying becomes an automatic bonus down the line if you want to rerun a particular subset of events to build and aggregate. If you can get the same thing with Kafka or have other reason for preferring using only Kafka, fine - I just felt dynamodb was a solid, cheap, long-term fire-and-forget event store solution. |
Hey Deon,
Really love this idea. I've been reading quite a bit about event sourcing myself, and came across this a few weeks ago. I think this might be a very good fit for Cognician too. Thanks for the writeup and resources!
Just wanted to ask you a quick question regarding your storing of events in DynamoDB. Why do this when Kafka is already persisting them to disk safely? Are you doing this for indexing purposes?
The text was updated successfully, but these errors were encountered: