Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отображение каких-либо статистических данных за какой-либо период

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как это делается?
STRELOK
Отправлено: 24 Декабря, 2013 - 16:05:32
Post Id



Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Янв. 2010  
Откуда: Ульяновск


Помог: 0 раз(а)




Приветствую!

Подскажите, пожалуйста, каким образом можно реализовать вывод какой-либо статистики за определенный период?

Предположим, у меня есть программа, каждый раз (при запуске) она отсылает служебную информацию на сервер. Пускай это будет что-то вроде версии программы, версия ОС, разрядность ОС.

Эти данные заносятся новой записью в таблицу с добавлением UNIX TIMESTAMP в UTC.

Понятно как извлечь данные за определенный год, месяц, день, час. Но.

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

Далее, лучшего я придумать пока не могу, как пройтись по всем данным, формируя массив данных. Где (в случае статистики за день), идет группировка по часам от 00 до 23, и в каждую группу добавление подходящих записей.

Но, что если записей много? Скрипт не уложиться в таймаут и\или сожрет весь проц и\или сожрет всю оперативку.

Как быть?

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

Как все это отрисовать в график, это отдельный разговор.
 
 Top
Мелкий Супермодератор
Отправлено: 24 Декабря, 2013 - 16:10:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




См. OLAP.

Храните отдельно аггрегированные данные.


-----
PostgreSQL DBA
 
 Top
STRELOK
Отправлено: 25 Декабря, 2013 - 09:37:10
Post Id



Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Янв. 2010  
Откуда: Ульяновск


Помог: 0 раз(а)




Мелкий пишет:
См. OLAP.

Храните отдельно аггрегированные данные.


Спасибо, а нет ли простых примеров на php? Посмотрел, везде все сложно, Oracle нужен, и.т.д....

И что значит, "хранить отдельно агреггированые данные?"
 
 Top
caballero
Отправлено: 25 Декабря, 2013 - 09:45:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




простых примеров чего? Решайте проблемы по мере поступления. У вас еще ничего нет в том числе и данных в таком количестве. С чего вы взяи чьто будут какие то проблеммы


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DelphinPRO
Отправлено: 25 Декабря, 2013 - 12:05:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




STRELOK пишет:
И что значит, "хранить отдельно агреггированые данные?"

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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
EuGen Администратор
Отправлено: 25 Декабря, 2013 - 12:13:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




STRELOK пишет:
Но, что если записей много? Скрипт не уложиться в таймаут и\или сожрет весь проц и\или сожрет всю оперативку.

На практике, чтобы это случилось - при правильной индексации - данных должно быть действительно много. Всё, что имеет порядок меньше 100млн - для линейной статистики (суммирование/подсчёт среднего/количества) - просто ничто.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB