2011-05-20 13 views
5

Estoy buscando el mejor mecanismo para almacenar un montón de datos ambientales y me gusta el concepto de una base de datos circular (rrd) para limitar el tamaño de la base de datos. Esto se usará para una aplicación web Java, por lo que estoy más interesado en usar tecnología basada en Java. La herramienta que he estado buscando es JRobin y RRD4JAlmacenamiento de datos Round Robin para datos de intervalos no regulares

Sin embargo, parece que RRD está diseñado para almacenar datos a intervalos fijos. ¿Es esto correcto?

Los datos que deseo almacenar son temperatura, humedad, datos de eventos como puerta abierta/cerrada, contacto seco abierto/cerrado.

Los datos de temperatura y humedad se pueden sondear, pero el hardware también nos envía actualizaciones que se basan en cuándo el hardware detecta un cambio (por lo que no es un intervalo regular). También me gustaría almacenar esto también.

Los datos controlados por eventos no se sondearán y solo se almacenarán cuando el sensor nos envíe los datos.

Para resumir, mi pregunta será de 2 pliegues:

  1. ¿Pueden las herramientas de RRD pueden utilizar para almacenar datos de intervalos no regulares?
  2. Si las herramientas RRD no se pueden utilizar para almacenar datos de intervalos regulares, ¿hay alguna sugerencia sobre cómo almacenar datos de intervalos no regulares de manera que el mecanismo de almacenamiento limita automáticamente el tamaño del almacén de datos?

Respuesta

1

Usted puede encontrar algo de información relevante en las razones por las cuales el proyecto grafito escribió su propio clon de RRD (llamado susurro): http://graphite.wikidot.com/whisper Parece ser por las razones que mencionas.

Una cosa que podría sugerir aquí es usar StatsD https://github.com/etsy/statsd que, aunque no está escrito en Java, tiene una interfaz Java y se usa con éxito para miles de estadísticas diferentes en Etsy. Se conecta a Graphite (http://graphite.wikidot.com/) que luego almacena los datos por usted y genera gráficos. Dado que todos los gráficos son accesibles a través de URL, puede ser que no necesite una solución pura de Java.

Cuestiones relacionadas