Memorizzazione e calcoli dei dati in tempo reale con livelli stratificati

2

Ho difficoltà a cercare di capire il modo migliore per creare report e calcolare i dati temporali su più livelli.

Il problema:

Una persona può accedere più volte, durante questo accesso ci sono più stati di cui una persona può far parte. Questi stati possono essere diversi per accesso per persona. Sto cercando di capire il modo migliore per calcolare il tempo trascorso in ogni stato come un'intera sessione appiattita insieme.

Lascia che L1 sia login 1 per persona 1, let L2 login 2. In sostanza sto provando a calcolare B o Billable status.

Supponendo che siano sempre e solo in uno stato di Billable su entrambi gli accessi, la linea di fondo sarebbe il tempo trascorso in Billable .

Soluzione corrente

Archiviamo una sessione nel nostro database Postgres e ogni 30 minuti torniamo indietro e appiattiamo le sessioni in una in base all'ora di inizio / fine e calcoliamo il tempo in ogni stato. Funziona perfettamente per i rapporti basati su almeno 30 minuti, ma non per i rapporti in tempo reale.

I miei strumenti:

Sto provando a salvare ogni secondo appiattito in ogni stato per persona in un tavolo Cassandra. Come sarebbe un tavolo simile? Potrebbe fare questi calcoli essere un'operazione puramente di database?

Qualcuno ha qualche idea su come appiattire questi dati in C *, così otteniamo solo i secondi che ogni persona ha speso in ciascuno stato indipendentemente dal numero di accessi che hanno segnalato tale stato?

    
posta Jared Mackey 17.02.2016 - 23:49
fonte

0 risposte

Leggi altre domande sui tag