Come faccio a gestire grandi quantità di dati dei file di log per la visualizzazione in grafici dinamici?

StackOverflow https://stackoverflow.com/questions/3516410

Domanda

Ho un sacco di dati del file di log che voglio visualizzare grafici dinamici, per periodi di tempo sostanzialmente arbitrarie, eventualmente filtrato o aggregati da diverse colonne (che ho potuto pregenerate). Mi chiedo circa il modo migliore per memorizzare i dati in un database e l'accesso per i grafici che mostrano, in cui:

  • la risoluzione di tempo dovrebbe essere variabile da un secondo per un anno
  • ci sono voci che si estendono su più 'secchi di tempo', ad esempio, una connessione potrebbe essere stato aperto per un paio di giorni e voglio contare e visualizzare l'utente per ogni ora che lei è stato collegato, non solo nelle ore 'fessura' il collegamento è stato creato o finito

Ci sono le migliori pratiche, o strumenti / plugins per guide che aiutano gestire questo tipo e la quantità di dati? ci sono forse motori di database appositamente su misura in questa direzione, o di dover utile funzioni (ad esempio indici CouchDB)?

EDIT: Sto cercando un modo scalabile di gestire questo modello di dati e di accesso. Le cose che ci prese in considerazione: Eseguire una query per ciascun segmento, unione in app - probabilmente troppo lento. GROUP BY timestamp / granularità - non conta correttamente i collegamenti. Pre-elaborazione dei dati in righe da piccola granularità e downsampling su richiesta -. Probabilmente il modo migliore

È stato utile?

Soluzione 2

Il modo risolto alla fine è stato pre-elaborare i dati nel benne per minuto, quindi non c'è una riga per ogni evento e minuto. Che lo rende facile e abbastanza veloce per selezionare e produce risultati corretti. Per ottenere granularità diverso, si può fare aritmetica intera sulle colonne timestamp - selezionare abs (timestamp / fattore) * fattore e di gruppo da abs (timestamp / fattore) * fattore

.

Altri suggerimenti

Penso che si possa utilizzare timestamp mysql per questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top