Guida 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.