Хранение данных циклического перебора для данных временных рядов с нерегулярными интервалами

Я ищу лучший механизм для хранения набора данных об окружающей среде, и мне нравится концепция циклической базы данных (rrd), чтобы ограничить размер базы данных. Это будет использоваться для веб-приложения Java, поэтому я больше заинтересован в использовании технологии на основе Java. Инструмент, который я искал, это JRobin и RRD4J

Однако похоже, что RRD предназначен для хранения данных с фиксированным интервалом. Это правильно?

Данные, которые я хочу сохранить, - это температура, влажность, данные, управляемые событиями, такие как открытие/закрытие двери, открытие/закрытие сухого контакта.

Данные о температуре и влажности можно опрашивать, но аппаратное обеспечение также отправляет нам обновления, основанные на том, когда аппаратное обеспечение обнаруживает изменение (поэтому не через регулярные интервалы). Я бы тоже хотел сохранить это.

Данные, управляемые событиями, не будут опрашиваться и будут сохраняться только тогда, когда датчик отправит нам данные.

Подводя итог, мой вопрос будет 2 раза:

  1. Можно ли использовать инструменты RRD для хранения данных с нерегулярными интервалами?
  2. Если инструменты RRD нельзя использовать для хранения данных с нерегулярными интервалами, какие-либо предложения о том, как хранить данные с нерегулярными интервалами таким образом, чтобы механизм хранения автоматически ограничивал размер хранилища данных?

person lsiu    schedule 20.05.2011    source источник


Ответы (1)


Вы можете найти соответствующую информацию в причинах, по которым проект Graphite написал свой собственный клон RRD (называемый шепотом): http://graphite.wikidot.com/whisper Похоже, по причинам, которые вы упомянули.

Здесь я могу предложить использовать StatsD https://github.com/etsy/statsd, не написан на Java, имеет интерфейс Java и успешно используется для тысяч различных статистических данных на Etsy. Он подключается к Graphite (http://graphite.wikidot.com/), который затем сохраняет для вас данные и генерирует графики. Поскольку все графики доступны через URL, может случиться так, что вам не нужно чистое решение Java.

person Matt Hall    schedule 05.08.2011