Хранение данных Round Robin для данных временных рядов с нерегулярным интервалом - PullRequest
5 голосов
/ 20 мая 2011

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

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

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

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

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

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

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

1 Ответ

1 голос
/ 05 августа 2011

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

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

...