Modelli di gestione del rollover del database

2

Ho una domanda riguardante la progettazione di un'applicazione in cui il sistema di database ha un rollover. Per chiarire il contesto:

  • il sistema di database (un'istanza di un cloud) viene alimentato con i dati del sensore da una piattaforma iot
  • la piattaforma iot esegue un rollover del database ogni giorno, settimana o mese (configurabile ma risolto una volta configurato)
  • all'inizio del mese x, il database x + 1 viene creato con alcuni indici.

Quindi i dati del sensore dal mese x dell'anno y andranno nel database dei cloudanti mydb-<y>-<x> .

Ignorando il fatto che questo è un modo doloroso di fare le cose, devo creare un'applicazione che dovrà interrogare i dati dal database x, x-1 e infine da x-2.

La mia domanda è: esiste un modo "corretto" per farlo? Ci sono dei pattern noti o trucchi per essere a conoscenza di ciò che mi permetterebbe di procedere in questa direzione o dovrei esaminare altre soluzioni, come replicare i dati dal database x a x-n in un db aggregante per semplificare le cose? Mi farà perdere il vantaggio di avere più database leggeri alla fine, ma sarebbe più semplice.

    
posta joel 09.11.2016 - 16:17
fonte

1 risposta

0

the iot platform performs a database rollover each day, week or month

Perché? Lo considererei solo se il volume di registrazione dei dati fosse enorme.

È più probabile che il database sia stato creato da qualcuno con una mentalità da "foglio di calcolo", in modo che l'unico modo per mantenere il database in buone condizioni consiste nel tagliare regolarmente i dati e archiviarli in un altro foglio.

Un suggerimento alternativo:

Non leggere nulla dai database x-1, x-2, ....

Subito dopo il "rollover", estrai tutti dei dati dal database x-1 e caricali in un database correttamente organizzato / indicizzato che possa contenere tutti del i dati che ti servono e che hanno un meccanismo di archiviazione ragionevole , se i dati veramente iniziano a diventare troppo grandi per essere gestiti.

In questo modo, l'applicazione deve solo leggere il database x e il nuovo database cumulativo.

    
risposta data 10.11.2016 - 13:15
fonte

Leggi altre domande sui tag