Memorizzazione di record che devono ancora essere elaborati

0

Ho un'app per i binari in cui gli utenti possono caricare i dati e quindi il back-end li elabora e crea un numero maggiore di dati che vengono archiviati con il record. L'elaborazione dei dati è asincrona e gestita all'esterno dell'app. Attualmente sto memorizzando i dati non elaborati nella stessa tabella dei dati elaborati e quindi aggiungo il resto quando viene elaborato, ma voglio interrompere il resto dell'app toccando i dati prima che sia terminata l'elaborazione e rendere anche tutte le colonne sul table not null.

La soluzione più semplice che riesco a pensare è creare una nuova tabella per i dati da elaborare e spostarli quando è pronta, ma poiché questi dati saranno solo non elaborati per un massimo di pochi minuti, in realtà non lo fanno senso di memorizzarlo su disco e poi cancellarlo poco dopo.

I dati stessi sono solo alcune stringhe, interi, timestamp e un allegato di file XML.

Quali metodi sarebbero utili per la memorizzazione di questi dati temporanei? Proprio come supposizione penso che Redis potrebbe essere buono per il lavoro, ma non l'ho usato abbastanza per saperlo bene.

    
posta Qwertie 30.08.2018 - 04:26
fonte

1 risposta

4

Se non vuoi rinunciare al vantaggio dei vincoli NOT NULL (e penso che sia una buona idea), prendi in considerazione di suddividere i record finali in due tabelle. Uno contiene i dati esplicitamente forniti dall'utente, l'altro detiene i dati calcolati e una chiave esterna per la prima tabella. Ciò ti risparmia lo sforzo di copiare tutto e mantiene tutti i vincoli di integrità (al prezzo di recuperare due record invece di uno per le letture successive).

    
risposta data 30.08.2018 - 09:06
fonte

Leggi altre domande sui tag