I am building a system that is very data oriented. I have large hierarchical data sets, but no business rules. The output of the system is based on some calculations performed according to data and several reports. I need to have a complete audit trail (for regulatory reasons) and be able to run calculations using a dataset from anywhere in the past.
For these reasons, I thought it was possible to use an event-based system using CQRS. All the examples I've seen revolve around creating aggregates for ES. The problem that I have is that each piece of data is one big connected set, I will have a small number of massive aggregates. An alternative, it seemed, was dividing the set into parts and calling each of them together. But in order to do any calculations, I would have to load hundreds of thousands of units.
My question is: does anyone have any experience with CQRS + ES systems that are data oriented and what it might look like?
Is there a better way to preserve dataset history without using ES?
Thanks for any help.
Colin source
share