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?
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.