I am looking for the best mechanism to store a bunch of environmental data and like the concept of a round-robin database (rrd) to cap the size of the database. This will be used for a Java Web-app so I am more keen on using Java based technology. The tool I have been looking at is JRobin and RRD4J
However, it appears RRD is designed to store data at fixed interval. Is this correct?
The data I am looking to store are temperature, humidity, event driven data such as door open/closed, dry contact open/closed.
Temperature and Humidity data can be polled, but the hardware also send updates to us which is based on when the hardware detects a change (so not regular-interval). I would also like to store this as well.
Event-driven data will not be polled and will only be stored when the sensor send us the data.
To summarize, my question will be 2 folds:
You might find some relevant info in the reasons why the Graphite project wrote their own RRD clone (called whisper): http://graphite.wikidot.com/whisper It seems to be for the reasons you mention.
One thing I might suggest here is to use StatsD https://github.com/etsy/statsd which while isn't written in Java, does have a Java interface and is used successfully for thousands of different stats at Etsy. It plugs into Graphite (http://graphite.wikidot.com/) which then stores the data for you and generates graphs. Since the graphs are all accessible via URL it might be the case that you don't need a pure Java solution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With