Алгоритм оптимальной статистической системы

Ms

Новичок
Алгоритм оптимальной статистической системы

Сейчас модернизирую статистику для сайта. Стою на пути

разработки алгоритма. Выбираю из двух вариантов:

1) Инфа будет записываться таким запросом:

INSERT INTO `table`(
`browsers`,
`visitors` )
VALUES (
'a:2:{s:50:"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";i:40;s:50:"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";i:60;}',
'a:2:{s:6:"common";i:40;s:6:"unique";i:60;}'
);

Тут рулит serialize.
За один визит - одна большая строчка, но обычно она раз в 100 больше той, что я привёл в пример.

2) Инфа будет записываться таким запросом:

UPDATE `table` SET
`value` = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)' ,
`quontity`='50',
`type`='browsers';

И за один визит 6 таких маленьких запросов.

Конечно, разность во времени врядли будет уж очень велика, но всё-таки это статистика, т.е. добавляется в каждый документ. И не хотелось бы, чтобы тормозило.
 

SiMM

Новичок
> И за один визит 6 таких маленьких запросов.
Что-то я не вижу тут 6 запросов. Или изъясняйся поточнее, или одно из двух...
 

Ms

Новичок
сколько заходов у тебе ? например в день ?
80-150.
Но, мне почему-то не хочется менять статистику, когда у меня станет 5000/день.
SiMM
1)UPDATE `table` SET
`value` = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)' ,
`quontity`='50',
`type`='browsers';

2)UPDATE `table` SET
`value` = 'Yandex.ru/?q=%20%20%20%20%20%20' ,
`quontity`='50',
`type`='links';
//статистика, пришедших по сслыкам

3) UPDATE `table` SET
`value` = '02' ,
`quontity`='50',
`type`='time';
//почасовая статистика

4)UPDATE `table` SET
`value` = 'unique',
`quontity`='150',
`type`='visitors';
//статистика уникальных посетителей


5)UPDATE `table` SET
`value` = 'common',
`quontity`='150',
`type`='visitors';
//посетителей всего
 

SiMM

Новичок
INSERT `table`
SET browser = $browser_id,
referer = 'Yandex.ru/?q=%20%20%20%20%20%20',
time = 2,
visitor_id = ...;
чем-то не устраивает?
 

Ms

Новичок
чем-то не устраивает?
тогда мы получим просто статистику о часах, о броузерах...

а мне надо ещё сортировать статстику по дням, чтобы потом смотреть сколько заходов с Yandex за сегодня, сколько за вчера, а сколько за всю неделю целиком
 

Фанат

oncle terrible
Команда форума
эта сортировка делается с помощью запросов SQL
рекомендую ознакомиться
 

SiMM

Новичок
> а мне надо ещё сортировать статстику по дням, чтобы потом смотреть сколько заходов с Yandex за сегодня, сколько за вчера, а сколько за всю неделю целиком

Интересно, а для чего существует SELECT, если не для этого?
 

Ms

Новичок
Всем спасибо.
Получил ценные идеи. В ближайшее время реализую.

-~{}~ 04.02.05 18:11:

SiMM
Я тут ещё денёк походил и подумал:
Каждый пользователь добавляет одну строку в таблицу.
При посещаемости в 500чел/день - это 500 новых строк/день.

А что будет черерз месяц? А через год?
Не будет ли тормозить вся эта база данных?

-~{}~ 04.02.05 19:27:

Будут ли заметны эти тормоза?
 

Frol

Новичок
мама! (с)

Ms
поищи по форуму по слову статистика.
узнаешь много интересного.
 

SiMM

Новичок
> А что будет черерз месяц?
15.000 строк

> А через год?
180.000 строк

> Будут ли заметны эти тормоза?
Кому? Не думаю, что операция добавления записи в таблицу больно сильно тормозит.

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

yugene

Отошел от дел
Originally posted by Ms
А что будет черерз месяц? А через год?
Если речь идет о твоем хоиячке, то, скорее всего, в большую сторону ничего не изменится :)

У меня знакомый админ научил IPTables складывать всю TCP\IP статистку прокси-сервера в MySQL. Сейчас в табличке порядка 1.500.000 записей (10 лет работы твоего сайта :) ). Запрос для статистики в разрезе часов-дней генерится, по-моему, около 1-2 сек :) Уточню...
 
Сверху