分、時、日、月、年のバケットにデータを格納しています。すべてのデータはUTCで保存されます。時系列データとUTC変換
クライアントがタイムゾーンで4/23/2016 7:00pm
という時間の合計を照会したい場合、クライアントは時間をUTC-4/24/2016 2:00am
に変換し、照会を行います。参照のための画像。
これは、時間と分バケットの完全に正常に動作します。しかし、クライアントが1日のバケットの合計を望む場合を見てみましょう。クライアントが4/24/2016
の地元の日の娘を望む場合、彼らはまた、4/24/2016
で解決するUTCに時間を変換するでしょう。 4/24/2016
UTCのバケツには、現地日の4/23/2016
から7時間分のデータが含まれており、現地日の最後の7時間を逃しています4/24/2016
。クエリが正しい合計を返さないため、これは問題のようです。 UTCの日の合計を返します。
この例で何か不足していますか?または時間間隔> 1時間にデータバケットを格納することは悪い考えですか?
これは私が考えていることです。これに共通のデザインパターンはありますか? –
タイムゾーンを調整する必要がある場合、TZオフセットは正式なクエリパラメータになります。特定のタイムゾーンの日/月/年の集計を事前計算するか、タイムゾーンのためにオンザフライで行うかは、リソースと要件によって異なります。 – welch