I need to record changes in values of several variables (in this case around 9000) so that I can display their changes against time on a graph.

I'd like a resolution of around 1min, however, I don't need to sample these values every minute because any change in value is available to me so the values only change on event.

Storing a sample every minute for 9000 variables is about 1.3MB/day (each sample is a single byte). But that should compress heavily because for most of the time any given value will be static.

So, what would be the best way to store these values for graphing? Recording the events in a database would be efficient storage but is not great for generating graphs from.

(Graphs would be along the lines of what MRTG generates, at a rough guess, although that's not a tool I've used in anger. I looked at the MRTG log file format but unless I'm reading the spec wrong I don't think it's quite what I want.)

If it matters, I plan on doing this on an ARM-based SBC such as a Pi or Beaglebone.

Mark
--
Mark Rogers // More Solutions Ltd (Peterborough Office) // 0844 251 1450
Registered in England (0456 0902) @ 13 Clarke Rd, Milton Keynes, MK1 1LG