Как правильно сделать сбор статистики посещаемости?

Добрый день.

Возникла задача сделать сбор статистики посещаемости сайта. (для своих нужд).
Задача на самом деле представлялась банальной: в скрипте пишем в базу айпишники клиентов и потом делаем выборки...

Но что делать, если будет например миллион посетителей в сутки, причем с достаточно высокими пиковыми значениями в некоторые промежутки времени.

Какие проблемы я вижу:

1. Вставки в БД достаточно медленно происходят.
2. Перед вставкой нужен поиск (чтобы проверить на уникальность).
3. База со временем вырастет очень конкретно и поиск по ней будет, мягко говоря не быстрым (для построения отчетов)

Какие решения я пока вижу:

1. Не хранить в базе все данные, а только за текущий день. Прошлые данные хранятся просто в виде количества уникальных/неуникальных посетителей и все. Таким образом размер таблицы не будет большим. (Раз в сутки пересчет данных и складирование в архив)
2. Статистику не сразу отправлять в базу, а например блоками раз в час, чтобы были быстрые вставки.

Подскажите как вообще данные задачи решаются у Гугла или Яндекса? Как правильно?
  • Вопрос задан
  • 237 просмотров
Пригласить эксперта
Ответы на вопрос 3
@bkosun
Можно анализировать логи веб сервера (apache, etc.), чтобы получить статистику

Есть готовые инструменты, например https://awstats.sourceforge.io/
Ответ написан
Ranwise
@Ranwise
Ответ написан
Комментировать
@o6CuFl2Q
У Яндекса такие задачи решаются с помощью ClickHouse: https://clickhouse.yandex/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы