针对非常规间隔时间序列数据的循环数据存储

问题描述 投票:5回答:1

我正在寻找最好的机制来存储一堆环境数据,比如循环数据库(rrd)的概念来限制数据库的大小。这将用于Java Web应用程序,因此我更热衷于使用基于Java的技术。我一直在看的工具是JRobinRRD4J

但是,似乎RRD旨在以固定间隔存储数据。它是否正确?

我想要存储的数据是温度,湿度,事件驱动数据,如门打开/关闭,干触点打开/关闭。

可以轮询温度和湿度数据,但硬件也会向我们发送更新,这些更新基于硬件何时检测到更改(因此不是常规间隔)。我也想存储这个。

事件驱动的数据不会被轮询,只有在传感器向我们发送数据时才会存储。

总而言之,我的问题将是2倍:

  1. RRD工具可以用来存储非常规间隔数据吗?
  2. 如果RRD工具不能用于存储非常规间隔数据,那么有关如何以存储机制自动限制数据存储大小的方式存储非常规间隔数据的任何建议?
java data-storage rrdtool
1个回答
1
投票

您可能会在Graphite项目编写自己的RRD克隆(称为低语)的原因中找到一些相关信息:http://graphite.wikidot.com/whisper这似乎是您提到的原因。

我在这里建议的一件事是使用StatsD https://github.com/etsy/statsd,虽然它不是用Java编写的,但它有一个Java接口,并成功用于Etsy的数千个不同的统计数据。它插入Graphite(http://graphite.wikidot.com/),然后为您存储数据并生成图形。由于图表都可以通过URL访问,因此您可能不需要纯Java解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.