Ya we are pretty aligned. We will have a back end management that ensures the limit isn’t approached by deleting older records. It’s a little tricky to determine how much to delete so this is why it isn’t implemented yet.
Regarding recording times, we will add a record interval to all data elements. You are right that recording data that isn’t changing doesn’t make much sense other than third-party consumer applications will like not having to interpolate a value.
Also looking forward, we will likely implement a data table element in addition to or instead of global elements. The table would allow you to store a bigger data set and manage it dynamically via data exchange and/or scripting.
You could also allow an element to be recorded or not on the element itself ( an Element Property with a script Like "record" command with a True or False range.) For example, I used three Temperatures on Mash Tun. I may want to record all three during Mash and Sparge, but not during the CIP Cleanup, although I need the Temperature Enabled at that time.
I would make any new elements record to False.
In most cases, I do not need to know if a Digital Out state is True or False, but there are times I might. But I am the source of what needs to be recorded or not. I have some Globals that "save" some of the times (like Wort Transfer or time to heat Sparge Water now. I wanted to know these to refine my processes. I might want those globals recorded once only.
Also to be able to "save" the data to a separate file and start "fresh". Again, maybe a property to "clear" certain data with a script command, giving an end user what data he wants persistent until cleared.
For example, If I could save all my Hot Side Data to a file and then clear for the next Brew but keep my fermentor data. Later, when the ferment is done, I would want to clear that data after saving to a separate file.
You could save the file in its entirety and have instructions on how to parse the data to a smaller file.
Again, on a fermentor, a 15 minute or even an hourly recording might be fine. A Refresh rate by Element would also be good. I might want the Mash Temp recorded every 10 seconds, but not the Ferment.
I also have a lot of Globals that I use as holders for variables (and even to do Math), they never need to be recorded even if they change.
For end users that do not even want any SQL data, a system setting to turn off Recording of any data.