Как правильно сделать сбор статистики посещаемости?
Добрый день.
Возникла задача сделать сбор статистики посещаемости сайта. (для своих нужд).
Задача на самом деле представлялась банальной: в скрипте пишем в базу айпишники клиентов и потом делаем выборки...
Но что делать, если будет например миллион посетителей в сутки, причем с достаточно высокими пиковыми значениями в некоторые промежутки времени.
Какие проблемы я вижу:
1. Вставки в БД достаточно медленно происходят.
2. Перед вставкой нужен поиск (чтобы проверить на уникальность).
3. База со временем вырастет очень конкретно и поиск по ней будет, мягко говоря не быстрым (для построения отчетов)
Какие решения я пока вижу:
1. Не хранить в базе все данные, а только за текущий день. Прошлые данные хранятся просто в виде количества уникальных/неуникальных посетителей и все. Таким образом размер таблицы не будет большим. (Раз в сутки пересчет данных и складирование в архив)
2. Статистику не сразу отправлять в базу, а например блоками раз в час, чтобы были быстрые вставки.
Подскажите как вообще данные задачи решаются у Гугла или Яндекса? Как правильно?
Дело в том, что основной сервер будет в одном месте, а обращения будут к другим серверам. Но суть примерно уловил. В принципе можно свой анализатор сделать и пихать блоками потом в базу.