为一次性智能家居安装选择 TSDB

Choosing a TSDB for one-off smart-home installation

我正在构建一个一次性的智能家居数据采集盒。预计在 raspberry-pi-class 机器(~1G RAM)上 运行,每天处理大约 200K 数据点(每个 64 位 int)。我们一直在使用 vanilla MySQL,但性能开始下降,尤其是对于给定时间间隔内的条目数查询。

据我了解,这基本上正是时间序列数据库的设计目的。如果有的话,关于我的情况的不寻常之处在于音量相对较低,可用 RAM 量也是如此。

快速浏览一下维基百科,建议使用 OpenTSDB、InfluxDB,可能还有 BlueFlood。 OpenTSDB 建议使用 4G RAM,尽管这可能适用于高容量设置。 InfluxDB其实也提到了sensor readings,但是我找不到很多关于需要什么样的资源的资料。

好的,这就是我的实际问题:是否存在明显的危险信号会使这些系统中的任何一个不适合我描述的项目?

我意识到这是对火焰的邀请,所以我指望人们保持乐观和有帮助的一面。非常感谢!

InfluxDB 在 1 GB RAM 的情况下应该没问题。嵌入式传感器和像 Raspberry Pi 这样的低功耗设备绝对是一个核心用例,尽管除了在 ARM 上编译之外,我们还没有对最新的 beta 进行太多测试。

InfluxDB 0.9.0 刚刚发布,0.9.x 应该在几周内在我们的托管环境中可用。低端实例具有 1 GB RAM 和 1 CPU 等效内存,因此它们是您 Pi 性能的合理代表,免费试用期为两周。

如果您有更具体的问题,请通过 influxdb@googlegroups.com 或 support@influxdb.com 联系我们,我们会尽力提供帮助。

您尝试使用 OpenTSDB 了吗?我们正在使用 OpenTSDB 为近 150 所房子收集智能电表数据,每 10 分钟收集一次数据。即一天内有很多数据点。但是我们还没有在 Raspberry pi 中测试过它。对于 Raspberry pi,OpenTSDB 可能非常繁重,因为它需要 运行 网络服务器、HBase 和 Java。 只是为了建议。您可以使用Raspberry pi作为智能家居的采集中心,将Raspberry pi的数据发送到服务器,并将所有点存储在服务器中。稍后在服务器中你可以做任何你想做的事情,比如聚合,或执行统计分析等。然后你可以将结果发送回智能中心。

ATSD支持ARM架构,可以安装在Raspberry Pi2上存储传感器数据。目前,需要 Ubuntu 或 Debian OS。确保设备至少有 1 GB 的 RAM 和具有高写入速度(60mb/s 或更高)的 SD 卡。 SD卡的大小取决于你要存储多少数据和多长时间,我们建议至少16GB,你应该提前计划。还建议使用备用电池电源,以防止崩溃和非正常关机。

Here 您可以找到有关设置与 Arduino 设备配对的 temperature/humidity 传感器的深入指南。使用该指南,您将能够使用 MQTT 或 TCP 协议将传感器数据流式传输到 ATSD。包括开源草图。

尝试VictoriaMetrics. It should run on systems with low RAM such as Raspberry Pi. See these instructions on how to build it for ARM

VictoriaMetrics 对于小型系统具有以下额外优势:

  • 它易于配置和维护,因为它具有零外部依赖性,并且所有配置都是通过几个命令行标志完成的。
  • 它针对低 CPU 使用率和低持久性存储 IO 使用率进行了优化。
  • 它可以很好地压缩数据,因此与其他解决方案相比,它使用少量的持久存储space。