- PVSM.RU - https://www.pvsm.ru -
Давным-давно, один специалист по базам данных (из тех, бородатых и уже седых) сказал мне, что метки времени (timestamp) — это самая сложная тема в базах данных. Я ему, правда, не поверил, но приколы со временем реально встречаются.
Есть стандартная проблема, которую часто вижу в чужих данных. Положим собрались вы отслеживать события/действия пользователя. Обычно у вас будет это делать некий код (JS в вебе или SDK для аппов), который будет слать данные серверу.
Каждому событию нужна метка времени. И есть выбор из двух: локальное время на клиенте или время получения события сервером. Один хороший совет что делать и загадка без ответа под катом
По моему опыту от 1% до 5% пользователей (я смотрю по разным проектам и аудиториям) живут в далёком прошлом или даже в будущем. Я, честно сказать, не понимаю зачем они это делают.
Я заметил, что особенно много таких пользователей на Филиппинах и в Японии.
Эта проблема – реальный кошмар. Она ломает все запросы об активности пользователей в целом, а это самые популярные вопросы в аналитике.
Одно возможное решение – это создать собственный счётчик времени на клиенте. Спросить время у какого-нибудь сервера в интернете и запомнить разницу с системным временем. Но дело это муторное и гарантий, что сдвиг будет стабильным, особых нет (на этом девайсе уже гарантированно что-то не так со временем).
Так что же делать? Просто хранить обе метки времени и использовать более подходящую в зависимости от ситуации. Как всегда, больше данных — лучше. Но сделать это часто забывают. Затем и пишу, чтобы не забывали.
P.S. Вопросы залу:
Автор: NNikolay
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/data-mining/128294
Ссылки в тексте:
[1] пример с хабра.: https://habrahabr.ru/company/usedesk/blog/301052/#comment_9613792
[2] Источник: https://habrahabr.ru/post/302620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.