Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, wraithik, Вы писали:
W>>А можно пример? W>>Как правило всем нужны итоги кратные месяцу/недели/декаде. И схема Буравчика работает очень хорошо.
KP>Да, можно, если упрощенно, то есть куча (десятки миллионов) событий, к которым относятся разные атрибуты, например сотни тысяч участников событий (1 или больше участник на событие). Пользователь может фильтровать выборку по атрибутам событий в произвольные моменты времени без привязки к каким-то конкретным периодам. Поэтому закешировать вообще без шансов, так как пользователь может задать совершенно любую выборку. Вернее как, мы сейчас кэшируем, но это разве что на скорости повторной отдачи данных, если пользователь страничку в браузере обновил, сказывается. KP>Так что мне нужно именно быстро фильтровать события (дата, участники и т.п.) и потом считать по выборке аналитику на сервере базы данных, не загружая выборку локально, так как в ней могут быть миллионы записей.
Есть участники, события и т.д. — это поля по которым могут быть отборы и реже агрегирование — назовем это измерениями.
Есть еще набор показателей — цифры — которые мы суммируем, делим и т.д.
Верно?
Как правило юзверь будет делать какой то отбор по измерениям и агрегирование по показателям. Как правило анализ будет по периодам.
Т.е. можно построить таблицу с итогами, куда войдут все измерения, и допустим, все суммы показателей с записями кратными месяцу.