Event sourcing is a pattern for modeling the application’s business logic. It states that all changes to application state should be defined and stored as a sequence of events. Its advantages are many:
Gives freedom to refactor the business logic, allowing better response to new requirements.
Suitable for building scalable, highly concurrent, distributed systems.
Stored events give the true history of a system, which is required by law in some industries.
The system’s state can be reversed to any point in the past for retroactive debugging.
The required infrastructure is simple – no monstrous databases are involved.
Vladik will also describe CQRS, an architecture that goes hand in hand with Event Sourcing.