architecturelanguage-agnosticcqrsevent-sourcing

Event sourcing without CQRS


I know that CQRS can be implemented with or without event sourcing, but does it work the other side? Does event sourcing without CQRS make sense? If so, how it should be implemented?


Solution

  • Yes, it does.

    Basically, the entire idea of event-sourcing is just to store the changes that led to the current state, instead of storing the current state. This way, with event-sourcing, you automatically have a history and can run time-series analysis on your data, and try to learn from the past.

    Whether you use CQRS is a completely different story: CQRS is about separating the writing to your application from reading from it.

    In the same way you can use CQRS without event-sourcing, you can use event-sourcing without CQRS. Both are independent of each other, they just accidentally fit each other very well.