Event Sourcing works on the same principle as Snapshot Isolation


Last Updated on Feb 12, 2021

Long-running queries need a consistent snapshot of the database because they need to refer to the state of the application as it was when the query started running. In the absence of such a snapshot, if the database continues to accept writes while the process is still running, transactions may read an inconsistent system state.

The database can provide a consistent, long-lasting snapshot to a transaction-in-progress by creating a new version of an object every time it is changed instead of updating values in place.

EventSourcing follows the same principle of storing individual changes.

By storing events rather than directly updating an object state, EventSourcing preserves each change to the system, allowing reconstruction of the system state from the past. Combined with CQRS, Read Models can provide snapshots of the application state at a point in time in an Event-Sourced application.


© 2022 Ambitious Systems. All Rights Reserved.