Event Sourcing for the Representation Agility Win!
Evolving requirements are a fact of our software development life. As needs change, often the ideal data structures to represent our domain change with them. So how do we persist in a way that will support domain evolution?
Many systems are state sourced. Each time a change happens, we update something in our data store. When we want to make a decision, we query the latest state. By contrast, event sourcing saves every change, capturing both the data involved in the change and the reason for it. With a full history to hand, we can build any representation we wish, whenever we wish, and evolve it as we need.
Of course, this flexibility is not without its implications and complications. In this session we will explore the opportunities and costs of event sourcing, by working through a sample scenario both with and without it.