The end goal is to have a variety of data sets that can all be graphically plotted against eachother.
All data should correspond to a date, so that when plotted against each other, they show the correct relationship through time.
The key feature though, is to be able to add a new parameter to log at any time which will then be logged simultaneously and will then be able to be plotted against other data sets (from the time the later began onwards).
As a sub point, it also needs to be able to deal with sparse information which is sometimes available and sometimes not.
An example of the data can be seen below. C is sparse data and D is a data field added half way down the table.
I have considered SQLite but the thought of all the column changes due to columns added by myself and users didn't appeal.
Currently, I am thinking of creating an object which keeps track of time and contains a data field list of different data lists such as A, B, C and D as in the image. The thinking being that to add a new data field, I could just add a new parameter (e.g D) list to the data field list which already contains A, B, C.
Then I could just serialize this into JSON to keep it persistent and when I want to graph anything with sparse data, I could interpolate it.
That is my current solution but I would very much appreciate any opinions on better practices or flaws in my current solution.