Rilascio del DBMS TimescaleDB 1.7

Pubblicato rilascio del DBMS TimescaleDB 1.7, progettato per memorizzare e elaborare dati sotto forma di serie temporali (rappresentazioni di valori di parametri a intervalli di tempo prestabiliti, dove il timestamp forma il tempo e il set di valori corrispondenti a quel tempo). Questa forma di memorizzazione è ottimale per applicazioni come sistemi di monitoraggio, piattaforme di trading, sistemi di raccolta metriche e stati dei sensori. Sono forniti strumenti per l'integrazione con il progetto Grafana e Prometheus.

Il progetto TimescaleDB è implementato come un'estensione di PostgreSQL e è distribuito sotto licenza Apache 2.0. Parte del codice con funzionalità avanzate è fornita sotto una licenza proprietaria separata Timescale (TSL), che non consente modifiche, vieta l'uso del codice in prodotti di terze parti e non permette l'uso gratuito in database cloud (database-as-a-service).

Tra le modifiche in TimescaleDB 1.7:

  • È stata aggiunta la supporto per l'integrazione con DBMS PostgreSQL 12. È stata dichiarata obsoleta la supporto per PostgreSQL 9.6.x e 10.x (in Timescale 2.0 rimarrà supporto solo per PostgreSQL 11+).
  • È stato modificato il comportamento delle query con funzioni aggregate a esecuzione continua (aggregazione di dati in arrivo in tempo reale). Tali query ora combinano le viste materializzate con dati di recente arrivo, che non sono ancora materializzati (in precedenza, l'aggregazione riguardava solo i dati già materializzati). Il nuovo comportamento si applica alle aggregazioni continue appena create; per le viste esistenti, è necessario impostare il parametro "timescaledb.materialized_only=false" tramite "ALTER VIEW".
  • Nella versione Community sono stati trasferiti dalla versione commerciale alcuni strumenti avanzati per la gestione del ciclo di vita dei dati, comprese le capacità di raggruppamento dei dati e la gestione delle politiche di espulsione dei dati obsoleti (consentono di conservare solo dati attuali e di eliminare, aggregare o archiviare automaticamente le registrazioni obsolete).

Ricordiamo che il database TimescaleDB consente di utilizzare vere query SQL per analizzare i dati accumulati, combinando la facilità d'uso tipica dei database relazionali con la scalabilità e le funzionalità proprie dei sistemi NoSQL specializzati. La struttura di archiviazione è ottimizzata per garantire alte velocità di inserimento dei dati. È supportato l'inserimento batch di set di dati, l'uso di indici in memoria, il caricamento di campioni storici retroattivi e l'applicazione di transazioni.

Una caratteristica chiave di TimescaleDB è il supporto per il partizionamento automatico dei dati. Il flusso di dati in ingresso viene automaticamente distribuito su tabelle partizionate. Le partizioni vengono create in base al tempo (in ciascuna partizione si conservano i dati per un determinato intervallo di tempo) o legate a una chiave arbitraria (ad esempio, l'ID del dispositivo, la posizione, ecc.). Per ottimizzare le prestazioni, le tabelle partizionate possono essere distribuite su dischi diversi.

Per le query, il database partizionato appare come un'unica grande tabella, chiamata ipertabella. L'ipertabella è una rappresentazione virtuale di molte tabelle separate in cui vengono accumulati i dati in arrivo. L'ipertabella viene utilizzata non solo per le query e l'aggiunta di dati, ma anche per operazioni come la creazione di indici e la modifica della struttura ("ALTER TABLE"), nascondendo allo sviluppatore la struttura segmentata a basso livello del database. Con l'ipertabella è possibile utilizzare qualsiasi funzione aggregata, sottoquery, operazioni di join con tabelle normali e funzioni di finestra.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster