Skip to Content

Che cos'è un database di serie temporali (TSDB)?

Vector illustration concept of time management isolated on blue background with long shadow.

Quando è necessario mostrare gli analytics minuto per minuto, giorno per giorno o qualsiasi altro intervallo di date, si utilizza un database della serie temporale. Un database della serie temporale memorizza i punti dati con le relative registrazioni cronologiche in modo che gli utenti possano visualizzare i trend entro un intervallo di tempo. È spesso utilizzato nella visualizzazione di informazioni e analytics basati sul tempo.

Che cos'è un database di serie temporali?

In un database di serie temporali, ogni record contiene un timestamp. Il timestamp può essere utilizzato per visualizzare un singolo data point o per la rappresentazione grafica e gli analytics. Il database di serie temporali viene utilizzato specificamente per le informazioni che richiedono un intervallo di date, come il monitoraggio del meteo o la ricerca di eventi specifici registrati a scopo di monitoraggio.

Che cos'è una raccolta di serie temporali?

Un database di serie temporali memorizza tutti i dati, ma una raccolta della serie temporale è una sezione di dati che viene prelevata dal database e restituita all'applicazione. Le raccolte delle serie temporali vengono recuperate dal database sotto forma di dataset e il dataset contiene data points per il dato intervallo di date. L'utente o l'applicazione invia l'intervallo di tempo come input al database e il database restituisce una raccolta per ogni data point che rientra nell'intervallo specificato.

Come funziona un database della serie temporale

In genere, viene creato un database della serie temporale per acquisire grandi quantità di dati per analisi future. Gli utenti impostano il proprio intervallo di date in un'applicazione e il database restituisce un set di data points. Il database funziona acquisendo i dati a intervalli. Ad esempio, un ticker di azioni potrebbe visualizzare le variazioni del prezzo di un'azione ogni minuto. Il database memorizza il nome dello stock, il prezzo e la data e ora per tenere traccia del prezzo dello stock ogni minuto per gli analytics e le informazioni cronologiche.

I dati recuperati da un database della serie temporale ordinano i record in ordine cronologico in modo che gli sviluppatori possano creare visualizzazioni senza costi generali di gestione. I database sono server potenti, pertanto possono ordinare un set di dati molto più velocemente di un'applicazione web front-end. Il database di serie temporali prende l'input dall'applicazione per determinare il modo in cui i dati devono essere ordinati in modo che gli sviluppatori possano visualizzare gli analytics per gli utenti. Ad esempio, un utente potrebbe richiedere dati sui prezzi delle azioni per un intervallo di date specifico e ordinarli in ordine crescente.

Database di serie temporali più diffusi: Confronti

Ogni database di serie temporali ha un motore di back-end, che viene utilizzato per archiviare e recuperare i dati. Il motore deve essere veloce ed efficiente per memorizzare grandi quantità di dati e allo stesso tempo essere in grado di recuperarli con una latenza minima. È possibile memorizzare i dati basati sul tempo in un database tradizionale, ma diversi database della serie temporale sul mercato sono creati appositamente per eseguire query e archiviare questo tipo di dati.

Perché utilizzare InfluxDB: TSDB open source

Alcuni sviluppatori preferiscono i database open source perché possono forgiare il codebase e apportare le proprie modifiche al prodotto di base. InfluxDB è un database di serie temporali open source in grado di memorizzare migliaia di data point ogni secondo. Se vuoi monitorare un'infrastruttura come i dispositivi IoT per le applicazioni industriali, InfluxDB è una buona scelta.

Confronto tra Prometheus e InfluxDB

La differenza principale tra InfluxDB e Prometheus è il modo in cui i dati vengono recuperati. Con InfluxDB, un'applicazione invia continuamente i dati al database in cui vengono archiviati e recuperati. Prometheus funziona tramite un'API in cui l'applicazione invia i dati e il database utilizza l'API per eseguire il polling dei dati memorizzati. Per le grandi aziende con sistemi situati in numerose posizioni, l'API basata su cloud Prometheus consente agli sviluppatori di caricare i dati da più posizioni dove possono essere esaminati in una dashboard centrale.

TimescaleDB e InfluxDB a confronto

InfluxDB è un database NoSQL, mentre TimescaleDB è un database relazionale. I database relazionali funzionano in modo molto diverso rispetto ai database NoSQL. Un database relazionale funziona con tabelle e chiavi che possono essere utilizzate per unire i dati memorizzati in ciascuna tabella. È importante conoscere il modo in cui un database memorizza i dati perché il modo in cui vengono recuperati utilizza una sintassi diversa. Se conosci i dati che verranno archiviati e puoi organizzarli in tabelle, TimescaleDB è un'opzione fattibile.

Confronto tra Elasticsearch e InfluxDB

Per aumentare le performance, Elasticsearch è un motore comune utilizzato nelle applicazioni aziendali. Le sue performance sono leggermente migliori rispetto a InfluxDB grazie alla sua capacità di sharding degli indici, che sono mappe di dati memorizzati come "documento" in Elasticsearch. Elasticsearch deve essere utilizzato per dataset di grandi dimensioni in cui applicazioni e utenti possono recuperare dataset che potrebbero coprire milioni di data point da un'ampia gamma di timestamp. Ad esempio, Elasticsearch è utile per esaminare i file di registro utilizzati per monitorare un ambiente di rete aziendale di grandi dimensioni per rilevare eventuali attività sospette degli utenti.

Quando utilizzare i database di serie temporali

La maggior parte dei database di serie temporali viene utilizzata per monitorare l'hardware o il software, in modo che un'ampia raccolta di dati possa essere utilizzata per analizzare eventi specifici. Per ottenere un quadro chiaro degli eventi all'interno di un ambiente, sono necessari molti dati raccolti da numerose fonti. Ad esempio, i sensori IoT possono raccogliere dati sulla temperatura da più macchine. Un database di serie temporali memorizza la temperatura per ogni minuto della giornata in modo che gli ingegneri possano identificare eventuali anomalie e correggerle prima che si guastino le macchine.

Database relazionali e di serie temporali

La maggior parte dei database di serie temporali utilizza documenti NoSQL per archiviare i dati, un modo comune per archiviare i dati non strutturati. I dati non strutturati consentono agli sviluppatori di memorizzare dati come una registrazione cronologica e un nome senza le restrizioni di organizzazione dei dati in righe di tabelle definite. I database relazionali richiedono agli sviluppatori di archiviare i dati utilizzando strutture specifiche, pertanto non sono opzioni valide per i dati della serie temporale con valori e tipi di dati sconosciuti. Ad esempio, uno sviluppatore non è riuscito a memorizzare un valore di stringa in una colonna di registrazione cronologica utilizzando un database relazionale, ma può essere eseguito con un database NoSQL di serie temporali.

Confronto tra NoSQL e database di serie temporali

Per i valori sconosciuti, il metodo preferito è un database NoSQL. Scegliere un database che supporti NoSQL come InfluxDB o Elasticsearch. Questi database di serie temporali offrono un data storage di massa con performance rapide durante le query. Sono per lo più riservati per applicazioni enterprise di grandi dimensioni e sono molto più difficili da implementare. Un database NoSQL configurato in modo errato potrebbe inibire le performance durante l'elaborazione delle query.

Vantaggi dei database di serie temporali

Ogni database memorizza le informazioni, ma un database di serie temporali è creato appositamente per gli analytics basati sul tempo. Il vantaggio di un database di serie temporali risiede nella capacità di memorizzare grandi quantità di dati con ogni data point che include un timestamp. Poiché è stato creato pensando a dataset di grandi dimensioni, un database di serie temporali è spesso più veloce e molto più efficiente nell'inserimento di nuovi record e nel recupero di dataset di grandi dimensioni rispetto a un database tradizionale.

I database di serie temporali sono spesso più precisi per le query che coinvolgono date e orari e memorizzano i dati di serie temporali in modo molto più efficiente. Tutte le organizzazioni che desiderano memorizzare i dati di monitoraggio possono trarre vantaggio da un database di serie temporali. Le applicazioni traggono vantaggio da un database di serie temporali grazie alla sua capacità di recuperare dataset di grandi dimensioni per analytics, visualizzazioni, trend finanziari, informazioni sulle attività e cambiamenti in un ambiente che si verificano spesso durante il giorno a intervalli diversi.

Svantaggi dei database di serie temporali

Come per qualsiasi infrastruttura avanzata, i database di serie temporali sono più difficili da implementare e configurare correttamente. Poiché la maggior parte di essi è NoSQL, un database NoSQL non correttamente distribuito risentirà di scarse performance se non viene ottimizzato. Le configurazioni richiedono che qualcuno all'interno dell'organizzazione comprenda i modi appropriati per ottimizzare il database. 

Le aziende che desiderano archiviare dati di serie temporali hanno bisogno delle risorse necessarie per archiviare grandi quantità di dati. I dati possono essere archiviati nel cloud, ma aumenteranno i costi IT. L'infrastruttura per supportare il data storage e l'elaborazione dei database delle serie temporali può essere costosa.

Conclusione

Se devi trovare una soluzione migliore per i dati basati sul tempo, un database di serie temporali è una buona scelta. Esamina i diversi tipi di motori di database, considera i costi e trovane uno scalabile in base alla crescita del business e all'aumento del data storage. Ricorda di rivedere le configurazioni e le opzioni di ottimizzazione per garantire che il database funzioni nel modo più efficiente possibile.

CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.