Event sourcing is a technique for data storage that involves storing the full history of data changes as a sequence of events. It sits at the highest level of a data storage maturity model above structured storage and CQRS. With event sourcing, all changes to data are stored as a sequence of events, and any updates result in a new event that is appended to the event log.