As we have event sourcing aggregates that hold state, the states and events need to be uniquely identifiable. This can be done by a simple, unique ID in the events and aggregate to know about which entity one is talking about.

Reference

Hoffman, Kevin. Real-World Event Sourcing: Distribute, Evolve, and Scale Your Elixir Applications. The Pragmatic Bookshelf, 2025. The Pragmatic Programmers.

Highlights or timestamps

Real-World Event Sourcing

  • [?] An aggregate is a single, uniquely identifiable entity that has state, validates commands and emits events.

— highlight from Highlights of Real-World Event Sourcing

Given a stream of ledger events, the key that differentiates one aggregate from another might be the key field account_number.

— highlight from Highlights of Real-World Event Sourcing