<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1267344923293614&amp;ev=PageView&amp;noscript=1">

Blog

Perché adottare un Time Series Database per le real-time analytics?

Giulio Vannini

Giulio Vannini, 21 aprile 2020 | Time Series Database

Per decenni, i dati temporali sono stati gestiti utilizzando RDBMS (Relational Database Systems) classici. Tuttavia, l’esplosione della sensoristica nelle aziende ha richiesto un cambio di paradigma: si è creata la necessità di trovare soluzioni DB capaci di gestire grandissimi flussi di piccole scritture, anche del tutto asincrone e a cadenza irregolare, senza rinunciare alle prestazioni in lettura. È l’alba dei database specializzati per le serie temporali e per le real-time analytics. Vediamoli più da vicino!

Come funziona un database a serie storiche?

Un Time Series Database cattura dati fissi e variabili. Per dati fissi si intende, ad esempio, un set di punti con l’etichetta “temperatura”, mentre per dati variabili si pensi alla temperatura effettiva registrata ad ogni rilevazione, che viene sempre abbinata ad una marca temporale. La scrittura e la compressione di tali dati vengono effettuate in un archivio che permette che le operazioni siano il più veloci possibile, dato che spesso il flusso di dati che possono reggere può essere veramente impetuoso: si parla anche migliaia di osservazioni ogni frazione di secondo in entrata e in uscita!

I vantaggi di un Time Series Database per il monitoraggio in real time

In un mondo in cui tutto è più modulare e geo-distribuito che mai, riuscire a centralizzare gli eventi in un unico punto diventa estremamente utile per tenere tutto sotto controllo ed essere capaci di intervenire rapidamente, o addirittura, di programmare automaticamente una serie di interventi automatici sulla base delle condizioni rilevate in real-time.

Si pensi per esempio a un gruppo di sistemisti che deve tenere sotto controllo la propria infrastruttura ed evitare che gli utenti anche solo sospettino di avere un problema: aggregare i dati in un database a serie storiche può essere il primo mattone di una soluzione di monitoraggio.

Una volta che è stato stabilito un flusso di dati, diventa anche facile scalarlo quando è necessario monitorare più oggetti: essendo molto specializzati ed efficienti, un database a serie storiche, al contrario di un relazionale, seguendo il paradigma BASE (Basically Available, Soft State, Eventually Consistent) riesce a gestire molto bene un altissimo numero di scritture, anche con hardware ridotto e poco costoso.

Il secondo passo può essere quello di costruire degli alert appena si verificano determinate condizioni, come ad esempio la saturazione della RAM su una macchina virtuale specifica, la temperatura di un processore che è stabilmente oltre una certa soglia ritenuta normale e così via. Infine, non è insolito abbinare delle azioni a questi alert.

Con riferimento alle azioni sopra citate, allo scattare di un avviso si può anche far partire uno script (scritto in qualsivoglia linguaggio), una chiamata REST a un servizio che abbia il compito di verificare e rimediare alla situazione o, in caso non si sia riusciti a rimediare automaticamente al problema, interfacciarsi con il PBX aziendale per effettuare chiamate telefoniche tramite un motore "text-to-speech".
Le possibilità per il monitoraggio real-time sono limitate soltanto dall’immaginazione!

Dall'infrastruttura informatica alla nostra casa, passando per i macchinari aziendali

Questo principio può essere adottato anche in contesti di vita quotidiana: pensate alla domotica, sia a casa vostra che in azienda. Un database basato sulle serie storiche può aiutarvi a tracciare nei minimi particolari quasi tutti gli eventi che si verificano, da quando e quante persone sono effettivamente entrate in una sala riunioni al fatto che qualcuno si sia dimenticato le luci accese o le finestre aperte la sera uscito dall'ufficio.

Con l’aiuto di uno strumento open source di data visualization come Grafana, potete facilmente tornare indietro nel tempo a verificare gli eventi. Ritornando a contesti legati più alla produzione aziendale viene subito in mente tutto il mondo dell’Internet of Things, per cui i database a serie storiche sembrano essere fatti apposta: accentrando i dati dei macchinari in un singolo luogo, possiamo misurare al singolo watt i consumi energetici, effettuare manutenzione predittiva, avere le informazioni per creare funzioni di costo (e quindi, di prezzo) più efficaci e porre le basi per arrivare a migliorare la produttività dei macchinari, sempre grazie alle capacità di analisi in real-time.

Per fare un esempio, supponete di avere un macchinario, costruito 10 anni fa per esempio, che per garantire una produzione ottimale deve avere vibrazioni entro un certo limite, molto basso. Per rispettare tale vincolo, esso produce molto meno di quanto potrebbe, in quanto la velocità del rullo principale deve necessariamente essere inferiore alla norma. Una soluzione al problema potrebbe essere quella di raccogliere i dati tramite protocollo OPC-UA, archiviarli in un database a serie storiche ed esporli a un programma che abbia il compito di regolare dinamicamente la velocità di ogni componente del macchinario in base alla probabilità che si possano verificare vibrazioni e la produzione sia sotto le aspettative.

Per far questo è necessario che il database sia poco costoso, veloce e scalabile, caratteristiche che i database a serie storiche sono progettati per avere, oltre che un partner che possa supportarvi nell'implementazione di tale soluzione.

Ci sono delle alternative per l'archiviazione dei dati storici?

I database relazionali restano il pilastro dell’archiviazione di informazioni digitali e, nella loro generalità, possono essere benissimo usati per gestire informazioni temporali. Tuttavia, questo tipo di soluzioni non è ottimizzato per la scrittura e lettura contemporanea di enormi quantità di piccole osservazioni, situazione in cui si trovano in grossa difficoltà e, pertanto, dovrebbero compensare con un’infrastruttura sottostante estremamente costosa per garantire lo stesso livello di prestazioni dei database pensati per le serie storiche.

Un’alternativa migliore possono essere i database NoSQL che, non avendo la necessità di verificare l’integrità dei dati e delle loro relazioni, sono molto più performanti a parità di hardware rispetto ai loro “cugini” relazionali. Tuttavia, bisogna valutare caso per caso, non trattandosi di soluzioni pensate dalla nascita con il preciso scopo di gestire serie storiche.

I Time Series Database si rivelano invece l'alleato migliore per performance e capacità di leggere enormi quantità di dati: se la tua azienda sta valutando una soluzione DB per la gestione dei dati storici, scopri nel nostro ebook gratuito tutti i vantaggi dei Time Series Database, ti basta un clic sul pulsante qui sotto!

Extra Red Time Series Database

Lascia un commento