Hi,

What's a good tool in which to store data collected from around the house - i.e database or one of the noSQL type tools.
I was wondering what other people might use / would recommend (or are thinking about or would avoid).

The data I want to store is from a number of sources including 3 or 4 DIY temperature sensors and electricity usages read from a currentcost envi. The current cost is currently just 'whole house' but will soon add at least 1 "appliance" monitor. We also have Idratek's cortex running our heating and I already have that exporting heating zone status and house occupancy, so would like to store that too. If suitable I'd also add broadband stats (something else I already monitor elsewhere).

Once collected I want to be able to pull out data for graphing & comparison, some some relatively simply querying but nothing exceedingly complicated I dont think (so a mark against relational DB and towards a simpler nosql method perhaps). I'm not sure yet what tool I'd use.

I also don't want to lose data definition of older data in the way that I think RRD would do (i.e older data become averaged). I'd rather know that I've got "full-definition" rolling data back X days (or months) etc.

At the moment I've got some of these things going into a mysql database (and some rudimentary graphs for some of the sensors) but at the moment the schema is a column per sensor source so requiring a schema change each time I add something. Fixable of course, but it made me start to wonder if a full relational database is the best way to go for easily adding 'disparate' data.

I'm completely happy with creating the integration - I'm already doing some with the mysql albeit with some currently hacky mix of python and php. I figure pretty much any data store would support either anyway (though I'd probably implement is all in python). Similar with the graphing, a nice full-fat solution that you just point at a data source would be good (a la visage at RRDs) but I might not be averse to creating the layer to retrieve the data from the store and use a graphing framework of some sort to do the actual rendering (what I have at the moment uses rgraph, for instance).

Any thoughts? Has anyone done something similar? I'm sure these no right or wrong answer here!

/jon