Atomicity and Versioning
This page describes atomicity and versioning of Aggregate modifications.
When you update an aggregate you do so by saving batches of events. The reason for this is to ensure atomicity in the case when a command results in multiple events being emitted simultaneously.
If you are reading and writing Aggregates from a single thread or process (e.g. like in the Actor model) you don’t have to care about the version fields at all.