I need to store a lot of data in Reliable Dictionaries on Service Fabric. We are implementing an event store as a number of Reliable Dictionaries, so every event emitted by the domain ends up in the store. I would like to know the difference in performance in the two following scenarios:
- use one (very large) Reliable Dictionary to store all events for a certain aggregate type : this results in a small number of dictionaries, each containing millions of events
- use a small Reliable Dictionary to store the events of a single aggregate instance : this results in a LOT of small dictionaries (think millions) each containing a few events
In light of the replication of state, and read and write performance, what would be the most efficient way forward?