Доброго времени суток, уважаемые форумчане!
Наверняка у большинства из вас при разработке того или иного проекта рано или поздно дело касалось вопроса хранения и обработки статистики - она бывает полезна многим и для многим. В моем случае при разработке интернет-магазина было принято решение выводить категории товаров (пользующиеся спросом и интересом у покупателей) в порядке убывания популярности. Тема, казалось бы, пустяковая - создать в таблице категорий еще одно поле "views_num" и при каждом посещении странички увеличивать число просмотров на единицу, но тут же первый вопрос: какого формата это должно быть поле - INT или BIGINT (а что если у нас мега-сайт с огромным числом посетителей)? А как организовать работу счетчика: при каждом рендеринге страницы категории увеличивать кол-во просмотров на 1 с учетом уникальности посетителей или без неё (т.е. проще говоря если один и тот же пользователь 3 раза зашел на страницу - счетчик должен увеличиться на 3?) А если и учитывать уникальность пользователей - выходит, для каждой из категорий потребуется создавать свою куку (мол, эту категорию такой-то пользователь уже просматривал, поэтому не плюсуем её рейтинг еще раз) на стороне клиента?
Согласен, вопросы наверное совсем уж дилетантские и простые, но порой самое простое может заводить в заблуждение и заставлять задуматься "а как лучше и эффективнее это сделать"?
Буду благодарен за проявленный интерес и участие в дискуссии
Хранение статистических данных в MySQL
Re: Хранение статистических данных в MySQL
кем было принято решение?pioneer писал(а):Наверняка у большинства из вас при разработке того или иного проекта рано или поздно дело касалось вопроса хранения и обработки статистики - она бывает полезна многим и для многим. В моем случае при разработке интернет-магазина было принято решение выводить категории товаров (пользующиеся спросом и интересом у покупателей) в порядке убывания популярности.
охренеть вопрос. Мне градусник покупать до 30 градусов или до 100, ведь я могу кипяток мерять?pioneer писал(а):первый вопрос: какого формата это должно быть поле - INT или BIGINT (а что если у нас мега-сайт с огромным числом посетителей)?
ответьте на мой первый вопрос. Кто принимал решение, тот и должен сформулировать что ему важнее в его бизнес-решении. Уж никак не я или кто-либо должен сформулировать требование.pioneer писал(а):А как организовать работу счетчика: при каждом рендеринге страницы категории увеличивать кол-во просмотров на 1 с учетом уникальности посетителей или без неё (т.е. проще говоря если один и тот же пользователь 3 раза зашел на страницу - счетчик должен увеличиться на 3?)
любым более-менее актуальным способом идентифицируйте. Кука, имхо, норм.pioneer писал(а):А если и учитывать уникальность пользователей - выходит, для каждой из категорий потребуется создавать свою куку (мол, эту категорию такой-то пользователь уже просматривал, поэтому не плюсуем её рейтинг еще раз) на стороне клиента?
Re: Хранение статистических данных в MySQL
Заказчиком.zelenin писал(а):кем было принято решение?
Смотря что мерять. Кипяток - да, с расчетом на 100 градусов - потому что вы знаете, что вода более 100 градусов - пар. Как измерять неизвестную в перспективах величину объемов посещаемости?zelenin писал(а):охренеть вопрос. Мне градусник покупать до 30 градусов или до 100, ведь я могу кипяток мерять?
Мой заказчик, как и большинство "типичных", далек от программирования и понимания того, что он хочет - просто хочет, чтобы был вывод категорий по популярности в порядке убывания. Насчет будущей посещаемости сайта настроен очень оптимистично - мол, повалят миллионы. Я тут всего лишь как разработчик консультируюсь у коллег по принятию решения в интересующем вопросе.zelenin писал(а):ответьте на мой первый вопрос. Кто принимал решение, тот и должен сформулировать что ему важнее в его бизнес-решении. Уж никак не я или кто-либо должен сформулировать требование.
Re: Хранение статистических данных в MySQL
прикинуть.pioneer писал(а):Смотря что мерять. Кипяток - да, с расчетом на 100 градусов - потому что вы знаете, что вода более 100 градусов - пар. Как измерять неизвестную в перспективах величину объемов посещаемости?
не думайте что он дурак. Спросите, что для него значит популярность: кол-во просмотров или кол-во уникальных посетителей. Не понимаю, зачем вы такую простую мелочь спрашиваете тут.pioneer писал(а):Мой заказчик, как и большинство "типичных", далек от программирования и понимания того, что он хочет - просто хочет, чтобы был вывод категорий по популярности в порядке убывания.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Хранение статистических данных в MySQL
piwik поставьте и хватит.
Нравится Yii? Давайте сделаем его лучше!.