Atomicity and Versioning

This page describes atomicity and versioning of Aggregate modifications.

Event batches

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.

Aggregate versioning

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.