Attualmente sto lavorando a un progetto che calcola i dati e li memorizza per ID in un database di analisi.Memorizzazione di statistiche su periodi di tempo e fusi orari più lunghi
Ad esempio la quantità di volte in cui un articolo di notizie viene letto (e quindi ci sono come 20 categorie di dati memorizzati come numero intero).
Noi memorizzare i dati in campi come segue: int id_utente int value_type_id int valore datetime datetime
Usiamo 4 tavoli, x_hour, x_day, x_week, x_month In questo modo non avremo a calcolare i dati su un potenziale di poche migliaia o addirittura milioni di record.
I dati devono essere calcolati al volo e filtrati da determinati join. Questo non è un problema e funziona come previsto e ad una velocità che è soddisfacente.
Il problema che segue. Vogliamo che i dati vengano visualizzati nel fuso orario dell'utente che li visualizza, il fuso orario non è sempre lo stesso poiché può essere utile, ad esempio UTC-5 o UTC + 4.
Poiché archiviamo le date in UTC, abbiamo problemi con intervalli su giorni, settimane e mesi poiché se l'attività è archiviata un'ora prima di mezzanotte, gli intervalli più grandi la vedranno come ieri, anche se potrebbe essere lo stesso giorno in quel fuso orario.
Ho letto soluzioni aggiungendo 24 colonne per contenere i dati per ogni fuso orario, qualcuno ha una soluzione diversa.
Non sono sicuro di aver capito il tuo punto. Stai dicendo che vuoi segnalare eventi in base all'ora in cui si verificano localmente? – Mehran
No, li memorizzo per ora del giorno settimana e mese, quindi abbiamo bisogno di 40 colonne per i fusi orari, poiché tutti i dati per la settimana 20 possono essere diversi nel fuso orario +12 come in +0. Ma è stato fatto. anni fa;) –