ユーザーの観察-2種類のタイムスタンプ

むかしむかし、データベースの専門家(あごひげを生やした、白髪の人の1人)は、タイムスタンプはデータベースで最も難しいトピックだと私に言った。 確かに、私は彼を信じていませんでしたが、ジョークは時間の経過とともに本当に発生します。



他の人のデータによく見られる標準的な問題があります。 ユーザーのイベント/アクションを追跡するとします。 通常、これを行うためのコード(Web上のJSまたはアプリ用のSDK)があり、サーバーにデータを送信します。



各イベントにはタイムスタンプが必要です。 また、2つの選択肢があります。クライアントのローカル時間またはサーバーがイベントを受信した時間です。 良いアドバイスと未解決の謎



サーバー時間:




クライアント時間:






私の経験では、ユーザーの1%から5%(私はさまざまなプロジェクトや視聴者を見ています)が遠い過去または未来に住んでいます。 私は正直に彼らがなぜこれをしているのか理解していない。







フィリピンと日本には特にそのようなユーザーが多いことに気付きました。







この問題は本当の悪夢です。 一般に、ユーザーアクティビティに関するすべての要求を中断します。これらは分析で最も一般的な質問です。



考えられる解決策の1つは、クライアント上に独自の時間カウンターを作成することです。 インターネット上のサーバーに時間を尋ね、システム時間との違いを覚えておいてください。 しかし、これは厄介な問題であり、シフトが安定しているという保証はなく、特別なものはありません(このデバイスには時間の経過とともに何らかの問題があります)。



それではどうしますか? 両方のタイムスタンプを保持し、状況に応じてより適切なタイムスタンプを使用してください。 いつものように、より多くのデータが優れています。 しかし、これを行うことはしばしば忘れられます。 それから忘れられないように書きます。



PS聴衆への質問:




All Articles