Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Choosing a TSDB for one-off smart-home installation

I'm building a one-off smart-home data collection box. It's expected to run on a raspberry-pi-class machine (~1G RAM), handling about 200K data points per day (each a 64-bit int). We've been working with vanilla MySQL, but performance is starting to crumble, especially for queries on the number of entries in a given time interval.

As I understand it, this is basically exactly what time-series databases are designed for. If anything, the unusual thing about my situation is that the volume is relatively low, and so is the amount of RAM available.

A quick look at Wikipedia suggests OpenTSDB, InfluxDB, and possibly BlueFlood. OpenTSDB suggests 4G of RAM, though that may be for high-volume settings. InfluxDB actually mentions sensor readings, but I can't find a lot of information on what kind of resources are required.

Okay, so here's my actual question: are there obvious red flags that would make any of these systems inappropriate for the project I describe?

I realize that this is an invitation to flame, so I'm counting on folks to keep it on the bright and helpful side. Many thanks in advance!

like image 569
John Clements Avatar asked Jun 19 '15 05:06

John Clements


1 Answers

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

VictoriaMetrics has the following additional benefits for small systems:

  • It is easy to configure and maintain since it has zero external dependencies and all the configuration is done via a few command-line flags.
  • It is optimized for low CPU usage and low persistent storage IO usage.
  • It compresses data well, so it uses small amounts of persistent storage space comparing to other solutions.
like image 106
valyala Avatar answered Sep 26 '22 08:09

valyala