Excellent explanation, thank you very much for the material.
I have 2 observations so far:
- why not use the sequenceNumber as the version? This way, you only
have to store / manage a single number. Unless having numbers in
sequence is important for the version?
- the snapshots principle could also be used when moving from a
state based system to a event sourced one. One could migrate existing
aggregates into snapshots and start event sourcing from there.
Julien