Запрос большого количества временных меток

У меня есть список временных отметок в таблице (их может быть миллионы) каждый раз, когда происходит событие автосохранения. Я хочу отслеживать количество времени, которое люди проводят на странице, поэтому каждый раз, когда они вводят слово, я отправляю метку времени в дополнение к идентификатору сеанса в хранилище данных. Конечная отметка времени — начальная отметка времени = количество времени, проведенного на странице.

Если у меня есть база данных с миллионами таких временных отметок, каков наиболее эффективный способ запроса количества времени, проведенного на странице?

Я хочу иметь возможность делать это на уровне пользователя, а также в целом (среднее количество времени, которое пользователь проводит на странице X).

Я также хочу сделать это в реальном времени. Быть в состоянии получить количество времени, которое пользователь проводит на странице X в режиме реального времени.

Я думал о хранении данных в памяти, потому что вы можете получать много временных меток одновременно, и это может привести к перегрузке базы данных, поскольку нам постоянно приходится обновлять информацию. Я думал о сохранении данных в памяти в виде пары ключ-значение и каждые X минут отправлял данные из памяти в хранилище данных (где я вычислял затраченное время и сохранял для каждого идентификатора сеанса). Поэтому я хотел бы хранить данные в памяти — ключ — это идентификатор записи, значение — это массив времени начала и окончания. Каждые X минут я отправляю данные в базу данных; Я хотел бы сохранить идентификатор базы данных, идентификатор страницы, идентификатор пользователя и время, потраченное (рассчитывается путем выполнения end_time — begin_time) в базе данных.

Это хорошее решение моей проблемы? Что мне не хватает?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]