I have two similar data collection projects, both of which collect time-series data and serve it up with graphs and such. The first one I did uses postgres, and manually (in code, not postgres) manages averaging, data at various resolutions, and a few other complicated issues that are inherent in time-series data. For the second project, I went with RRD instead of postgres, and it vastly simplified data management (other than having to write the RRD integration code for javascript myself). Now, I’m working on refactoring these projects, because it makes sense to move to the first project over to RRD and then there’s no reason to have the graphing bits separate. Continue reading Timewise

Beyond NoSQL: Using RRD to store temporal data

Recently, I’ve worked on two projects (Power Hungry, Hot or Not) which (among other things) collect write-once data over time, and graph the results. The projects collect very different data, but this task was painful enough in postgres that I ended up switching to a temporal database for the second go, and it made the data collection & querying much easier. What follows is a brief discussion of the problems I faced with postgres, and how moving to RRD solved them. Continue reading Beyond NoSQL: Using RRD to store temporal data

Power Hungry

I finished my first significant electronics project in a while: Power Hungry.  The idea is that I use sensors to monitor the actual voltage & amperage usage of various devices in my apartment, and I wirelessly transmit that to a base station, which calculates various statistics.  The results are then beamed to my linode server, where I have some graphs of the data.  The ultimate goal is to use this data to reduce my overall energy usage, but for now I’m just working on establishing a baseline, so I can best judge the effectiveness of whatever changes I make.  The results so far, though, are fairly interesting. Continue reading Power Hungry