TimescaleDB, un database open source per l'archiviazione di dati di serie temporali

È stato annunciato il rilascio della nuova versione di TimescaleDB 1.7, versione in cui è evidenziato il supporto aggiunto per PostgreSQL 12, così come nella modifica di alcune funzioni. Per chi non lo sa Scala cronologica DB, dovrebbero saperlo è un database progettato per archiviare ed elaborare dati sotto forma di serie temporali (segmenti di valori di parametri a determinati intervalli di tempo, il registro forma l'ora e un insieme di valori corrispondenti a questo tempo).

Questa forma di archiviazione è ottimale per applicazioni come sistemi di monitoraggio, piattaforme di trading, sistemi per raccogliere lo stato e le metriche dei sensori.

Informazioni su TimescaleDB

Il progetto TimescaleDB è implementato come estensione PostgreSQL ed è distribuito con la licenza Apache 2.0. Parte del codice con funzionalità avanzate viene fornito con una licenza Timescale separata proprietaria (TSL), che non consente modifiche, proibisce l'uso del codice in prodotti di terze parti e non consente l'uso gratuito nei database cloud (database come servizi ).

La parte interessante di TimescaleDB è questa consente di utilizzare query SQL complete per analizzare i dati accumulati, combinando la facilità d'uso insita nel DBMS relazionale con la scalabilità e le capacità inerenti ai sistemi NoSQL specializzati.

La struttura di stoccaggio è ottimizzato per fornire un'elevata velocità di aggregazione dei dati. Supporta set di dati di aggregazione batch, utilizzando indici memorizzati nella RAM, caricando retroattivamente segmenti storici, applicando transazioni.

Una caratteristica fondamentale di TimescaleDB è il supporto per partizione automaticaa (partizione) dell'array di dati. Il flusso di dati in ingresso viene distribuito automaticamente tra le tabelle partizionate.

Le sezioni vengono create in base al tempo (ogni sezione memorizza i dati per un certo periodo di tempo) o relativamente a una chiave arbitraria (ad esempio identificativo del dispositivo, posizione, ecc.). Le tabelle partizionate possono essere distribuite su diverse unità per ottimizzare le prestazioni.

Per le query, un database partizionato sembra una grande tabella, chiamata hypertable. Un hypertable è una rappresentazione virtuale di molte tabelle separate in cui vengono accumulati i dati in arrivo.

Cosa c'è di nuovo in TimescaleDB 1.7?

In questa nuova versione il supporto per il integrazione con PostgreSQL 12 DBMS, mentre il supporto per PostgreSQL 9.6.xe 10.x è stato deprecato, sebbene per Timescale 2.0 rimarrà solo il supporto per PostgreSQL 11+.

Si distingue anche per questo cambiato il comportamento delle query con funzioni aggregate eseguite continuamente (aggregazione dei dati in entrata continua in tempo reale).

Tali query ora combinano viste materializzate con dati appena arrivati ​​che non si sono ancora materializzati (in precedenza, l'aggregazione copriva solo i dati già materializzati). Il nuovo comportamento viene utilizzato per le aggregazioni continue di nuova creazione.

Inoltre, alcuni strumenti avanzati di gestione del ciclo di vita dei dati sono stati spostati nella versione community dell'edizione commerciale, inclusa la capacità di raggruppare i dati ed elaborare le politiche per sostituire i dati obsoleti (consente di memorizzare solo i dati correnti ed eliminare, aggiungere o archiviare automaticamente i record obsoleti).

Come installare TimescaleDB su Linux?

Per coloro che sono interessati per poter installare TimescaleDB sul tuo sistemaPossono farlo seguendo le istruzioni che condividiamo di seguito.

Nel caso di quelli che lo sono Utenti di Ubuntu:

sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -c -s)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –
sudo add-apt-repository ppa:timescale/timescaledb-ppa
sudo apt-get update
sudo apt install timescaledb-postgresql-11

Nel caso di Debian:

sudo sh -c "echo 'deb https://packagecloud.io/timescale/timescaledb/debian/ `lsb_release -c -s` main' > /etc/apt/sources.list.d/timescaledb.list"
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -
sudo apt-get update
sudo apt-get install timescaledb-postgresql-11

RHEL / CentOS:

sudo yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL
sudo yum update -y
sudo yum install -y timescaledb-postgresql-11

Ora configureremo il database con:

sudo timescaledb-tune

qui possono essere realizzate varie configurazioni, di cui puoi consultare nel seguente link 

Alla fine, riavvia il servizio:

sudo service postgresql restart

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.