Time Series Database: InfluxDB

InfluxDBGuida alla scoperta e all’installazione di InfluxDB su Debian 8.

 
InfluxDB è un database che rientra nella categoria dei Time Series Database (TSDB),  database appositamente progettati e ottimizzati per catalogare serie temporali di dati.
 
Questa tipologia di database è nata per ovviare a tutta una serie di limitazioni nel contesto delle serie temporali che i più famosi database (relazionali o flat file) hanno nello gestire questa tipologia di dati.

Per fare un esempio, se volessimo catalogare e poi poter manipolare i dati presi da un sensore di temperatura un TSDB è la scelta che fa per noi.

Quali sono le caratteristiche che rendono InfluxDB la scelta ideale per lavorare con serie di dati temporali?

  • Datastore progettato e implementato appositamente per serie di dati temporali;
  • Scritto interamente in Go e si compila in un unico binario senza dipendenze esterne;
  • Progettato per implementare facilmente API Http;
  • Ha un supporto al linguaggio SQL-like per interrogare facilmente i dati;
  • Consente ricerche veloci ed efficienti;
  • Ha un’interfaccia web funzionale.

Di seguito vi spieghiamo come installarlo su Debian 8.

Partiamo innanzitutto dall’installazione di curl (se non lo abbiamo):

apt-get update && apt-get install curl

Importiamo la chiave pubblica:

curl -sL https://repos.influxdata.com/influxdb.key | apt-key add -

Aggiungiamo i repository al sistema:

echo "deb https://repos.influxdata.com/debian jessie stable" | tee /etc/apt/sources.list.d/influxdb.list

Possiamo a questo punto installare il database:

apt-get update && sudo apt-get install influxdb

Terminiamo l’installazione avviando il servizio:

service influxdb start

Se sul nostro sistema Influxdb in esecuzione non risultano errori, possiamo testarne il funzionamento anche richiamando il webservice che nativamente ci mette a disposizione richiamando nel browser http://IP:8083/ dove IP è l’ip del nostro server.

Possiamo a questo punto creare un database, sia da cli che da interfaccia web che tramite api rest, in questa guida useremo la cli.

Digitiamo nel terminale:

influx

Avremo una risposta del genere:

Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 0.13.0
InfluxDB shell version: 0.13.0
>

Possiamo creare e utilizzare un database con i comandi:

> create database Test
> use Test
Using database Test

Inseriamo a questo punto dei dati di test, per esempio la temperatura rilevata da un sensore:

INSERT temperatura,sensore=1 esterna=26,interna=18

INSERT temperatura,sensore=1 esterna=27,interna=19

INSERT temperatura,sensore=1 esterna=28,interna=20

Possiamo richiamare i dati con la query:

> select * from temperatura;

Da qui si può partire facendo riferimento al manuale ufficiale per approfondire le funzionalità.

L’argomento è sicuramente molto vasto e questo articolo non vuole essere una guida esaustiva ma solamente un supporto alla scoperta e all’installazione per muovere i primi passi e per capire se InfluxDB può fare al caso vostro, magari per risolvere un problema che vi attanaglia da anni.

Nei prossimi articoli vi mostreremo come poter graficare con estrema semplicità i dati inseriti nel database attraverso Grafana.

No Comments

Post a Comment

− 2 = 4

*

Accedi

Password dimenticata?