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

Add sharding support for EventStorageEngine to shard by aggregate type #561

Closed
jayhuanggz opened this issue Apr 1, 2018 · 3 comments
Closed
Assignees
Labels
Type: Question Use to signal the issue is a question of how the project works and thus does not require development

Comments

@jayhuanggz
Copy link

I am new to Axon, as far as I know, currently all events are stored in a single table or document and there is no event archiving mechanism, size of events will grow indefinitely over time. It would be nice to be able to store events in different table(document) each aggregate type, I suggest:

  1. add a "aggregateType" param to EventStorageEngine read methods, callers need to change to supply this param as well

  2. Add a "DestinationResolver" that resolves event storage destination by aggregateType and aggregateIdentifier(in case of further sharding by identifier)

  3. change implementations of EventStorageEngine to use the resolved event destination, if null, use default(the current one)

Please share your opinions. Thank you.

@jayhuanggz
Copy link
Author

any comment please?

@smcvb
Copy link
Member

smcvb commented Jun 27, 2018

@abuijze do you have an opinion about this?
I'd argue that we'd still prefer a single event store, as that simplifies reading the entire event stream as it as. Added, a regular RDBMS typically does more than fine for an extended period of time.

@smcvb smcvb added the Type: Question Use to signal the issue is a question of how the project works and thus does not require development label Jun 27, 2018
@abuijze
Copy link
Member

abuijze commented Jul 5, 2018

Hi @jayhuanggz,
we have decided not to implement this feature in Axon. A project-specific workaround for this is relatively easy to build, and there doesn't seem to be sufficient demand for a generic solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Question Use to signal the issue is a question of how the project works and thus does not require development
Projects
None yet
Development

No branches or pull requests

3 participants