I have the following case:
We register data from sensors. Let's say that it is a value reported every second, for one hour a day. So we have over 3k values. These values are processed to try and eliminate sensors' faulty behaviors. At the end, there are some performance indicators calculated based on the processed set of data.
At this moment each step of the pre-processing stage is handled by a dedicated class. They act like commands: eliminate unrealistic readings, fill in missing readings, etc. The commands are loaded and executed in an order defined by the configuration file. The final step (calculating performance indicators and storing them in the DB) is like a projection (as far as I understand the concept).
I would like to start storing the steps of the pre-processing stage, so they can be replayed (to check how each of them affects the projected performance indicators, or to fine tune them). But each command changes a lot (if not all) data. So it will be quite expensive to store each change like it should be done with Event Sourcing. So my idea was to store the commands instead (perhaps with some parameters specific to each command).
Is it a good approach? Or should I still do Event Sourcing?