Skip to content
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

Open
greywolve opened this issue Sep 20, 2015 · 4 comments
Open

Why store in DynamoDB when you have Kafka? #7

greywolve opened this issue Sep 20, 2015 · 4 comments

Comments

@greywolve
Copy link

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?

@neverfox
Copy link

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...

@jackdempsey
Copy link

@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.

@neverfox
Copy link

neverfox commented Sep 4, 2016

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.

@CmdrDats
Copy link
Contributor

CmdrDats commented Sep 4, 2016

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants