Overview

Instead of storing only the current state of an object in a database, event sourcing stores every change that has ever happened to that object. The current state can be reconstructed by replaying the events.

Benefits

  • Audit Trail: A perfect history of every change.
  • Time Travel: The ability to see the state of the system at any point in the past.
  • Scalability: Event stores are typically append-only, which is very fast.

Challenges

  • Complexity: Reconstructing state can be slow (mitigated by 'snapshots').
  • Versioning: Handling changes to the event schema over time.

Related Terms