[Linuxtrent] Re: Salvare serie temporali ad alto flusso con Python

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent <linuxtrent@xxxxxxxxxxxxx>
  • Date: Fri, 19 Mar 2021 10:50:42 +0100

On Fri, Mar 19, 2021 at 7:24 AM Emanuele Olivetti
<emanuele.olivetti@xxxxxxxxx> wrote:


Il flusso di dati è piuttosto rapido, tipo un milione di messaggi al giorno. 
Il timestamp è un intero che esprime il tempo in millisecondi. Purtroppo, ci 
possono essere più letture con lo stesso esatto timestamp (per vari motivi 
tecnici). In linea teorica, il flusso dei dati non si ferma mai e quindi devo 
essere in grado di fare query anche mentre i dati vengono ricevuti e stoccati.

Un milione al giorno lo gestisci serenamente con SQLite, che è già
integrato in Python, col solo accorgimento di fare inserimenti in bulk
dentro una transazione - il guadagno in velocità è estremamente
sensibile.

MySQL, facendo uso di tabelle non transazionali, è quasi altrettanto
veloce. Ha il vantaggio che scala meglio se vuoi mantenere in linea
grosse moli di dati grezzi.

PosgreSQL, con lo stesso accorgimento di SQLite non dovrebbe essere
troppo più lento, e ti offre le estensioni già citate per gestire
timeseries (non è detto che ti occorrano).

Oppure c'è InfluxDB - che non è una soluzione "semplice" ma offre
tante cose utili per il post-processing: https://www.influxdata.com/
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: