5

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

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

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

可以轮询温度和湿度数据,但硬件也会根据硬件检测到变化的时间(因此不是定期间隔)向我们发送更新。我也想存储这个。

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

总而言之,我的问题有两个方面:

  1. RRD工具可以用来存储非常规区间数据吗?
  2. 如果 RRD 工具不能用于存储非常规间隔数据,关于如何以存储机制自动限制数据存储大小的方式存储非常规间隔数据的任何建议?
4

1 回答 1

1

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

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

于 2011-08-05T14:26:14.143 回答