lsi*_*siu 5 java data-storage rrdtool
我正在寻找最好的机制来存储一堆环境数据,比如循环数据库(rrd)的概念来限制数据库的大小.这将用于Java Web应用程序,因此我更热衷于使用基于Java的技术.我一直在看的工具是JRobin和RRD4J
但是,似乎RRD旨在以固定间隔存储数据.它是否正确?
我想要存储的数据是温度,湿度,事件驱动数据,如门打开/关闭,干触点打开/关闭.
可以轮询温度和湿度数据,但硬件也会向我们发送更新,这些更新基于硬件何时检测到更改(因此不是常规间隔).我也想存储这个.
事件驱动的数据不会被轮询,只有在传感器向我们发送数据时才会存储.
总而言之,我的问题将是2倍:
您可能会在 Graphite 项目编写自己的 RRD 克隆(称为 Whisper)的原因中找到一些相关信息:http://graphite.wikidot.com/whisper这似乎是出于您提到的原因。
我在这里建议的一件事是使用 StatsD https://github.com/etsy/statsd,它虽然不是用 Java 编写的,但确实有一个 Java 接口,并且在 Etsy 上成功用于数千种不同的统计数据。它插入 Graphite (http://graphite.wikidot.com/),然后为您存储数据并生成图表。由于所有图表都可以通过 URL 访问,因此您可能不需要纯 Java 解决方案。