Event Sourcing
Problem
Traditional applications typically maintain the state of data by continuously updating the data as the user interacts with the application and keeps modifying the data. Continuous updates often involve transactions that lock the data under operation. Some of the problems with traditional applications are:
- Performing CRUD (Create, Read, Update, and Delete) operations directly against a data store impacts performance and responsiveness due to high processing overhead involved.
- In a collaborative domain, parallel updates on a single item of data may lead to conflicts.
- Traditional applications, in general, do not preserve history of operations performed on data and therefore there are no audit logs available...