Event Sourcing
Problem
Your database says:
Account balance = €1,240
But you need to know:
How did it become €1,240?
Current state has lost the history.
Solution — Event Sourcing
Store the sequence of facts that produced the state.
AccountOpened
+ Deposit 1000
- Payment 60
+ Deposit 300
Current state can be reconstructed from events.
The event store is the source of truth and can be an append-only SQL table that preserves event order per account. If other services need to react, events can also be published through Event Hubs or Service Bus; that messaging is optional.
Core idea: event sourcing stores state-changing facts rather than only the latest state.