Gestione di grandi quantità di richieste di servizi Web e memorizzazione di tali dati

2

Ho un'applicazione desktop che invia una richiesta POST al mio sito web ogni 5 minuti. Questa richiesta post può contenere una quantità variabile di dati sul PC che invia la richiesta, ma in genere contiene circa 20-30 variabili di informazioni.

Sto memorizzando tutte queste informazioni in una tabella MySQL in un formato come, RequestID | Field | Value. Voglio essere in grado di mantenerlo tutto in modo da poter eseguire rapporti sulle tendenze su 24 ore, 48 ore, settimane, mesi, anni, ecc.

Ciò potrebbe ammontare a qualcosa come 10.000 righe di dati ogni giorno. Sono 3 milioni di righe di dati all'anno.

Posso immaginare 20-30 persone che utilizzano il mio sito Web e il database che memorizza 100 milioni di righe di dati all'anno.

Qual è il modo migliore per accedere a questo tipo di servizio di "notifica" e ridimensionarlo?

    
posta Chris G. 19.01.2012 - 19:28
fonte

2 risposte

3

Invia solo modifiche.

Poiché stai seguendo le tendenze, non devi inviare ogni 5 minuti. Magari stash i dati sul desktop e inviare quando l'utente non è così occupato. Cerca di evitare che si riempia troppo.

Aggrega i dati in alcune medie giornaliere e poi settimanalmente o mensilmente. Puoi scaricare i vecchi dati di dettaglio in un'altra sorgente di dati per archiviarli nel caso in cui desideri riportarli per eseguire una nuova analisi / formula di tendenza che richiede dettagli.

    
risposta data 19.01.2012 - 19:38
fonte
1

Consideralo come un piano di riserva incrementale di sorta. Memorizza i dati aggregati e poi elimina i dati non elaborati sottostanti.

Una tabella per i dati YEAR, Una tabella per i MESI (1 per ogni mese a seconda del progetto DB suppongo), e così via. Ad ogni "livello", una volta che avete abbastanza dati da riassumere, fatelo e buttate via quei dati "grezzi".

Per ogni giorno, 24/48 ore, mese, anno, ecc. dovrai decidere un punto limite per mantenere i dati "grezzi" da cui è stato creato quel "livello di riepilogo". Ad esempio, sono utili i record giornalieri di 5 mesi?

    
risposta data 19.01.2012 - 19:50
fonte

Leggi altre domande sui tag