Przechwywanie prostych danych statystycznych

Hej!

Potrzebuję wprowadzić w jednej z moich aplikacji moduł prostych statystyk, umożliwiający mi określenie najlepszych oraz ostatnio popularnych wpisów w danym tygodniu/miesiącu/roku. Chciał bym, aby bazowało to na prostym systemie głosowania w górę (lajk).

Czyli generalnie - są posty, użytkownik ma możliwość polubienia posta a system, na podstawie ilości lajków, powinien być w stanie zwrócić najpopularniejsze wpisy (to akurat proste, sortowanie po punktach) oraz “gorące” wpisy w tym tygodniu/miesiącu/roku (“gorącość” = przyrost ilości polubień w tym tygodniu/miesiącu/roku w stosunku do poprzedniego tygodnia/miesiąca/roku).

O ile sortowanie po polubieniach jest prostą sprawą, o tyle nie mam pojęcia jak podejść do tematu obliczania “gorącości” i trzymania tego w bazie. Teoretycznie mógł bym za pomocą crona sprawdzać stan każdego dnia i zapisywać go w bazie wraz z przyrostem (01.01.2015 - 5 lajków, przyrost 0 / 02.01.2015 - 10 lajków, przyrost 5 / itd) . Później, w miarę potrzeb obliczać na podstawie tego najgorętsze posty w danym przedziale czasowym. Wydaje mi się jednak nieco dziwne trzymanie takich śmieci w postgresie więc zastanawiam się, czy nie istnieją jakieś lepiej przystosowane do tego narzędzia (redis? mongo?), które pozwolą zrobić mi to łatwiej i przyjemniej.

Wszelkie przykłady i linki mile widziane - jestem w temacie parsowania danych statystycznych totalnie zielony więc proszę o potraktowanie mnie jak 5 latka :smile: Nie byłem też niestety znaleźć niczego wartościowego w google.

Z góry dzięki!

Nt “goracosci”

:smile:

Super! Dzięki wielkie, wydaje mi się, że kiedyś już się do tego dokopałem ale dobrze sobie to przypomnieć.

Co do oryginalnego pytania - trochę uprościłem mój model. Rzeczywistość jest nieco inna - moja strona to z grubsza zbiór linków a to co potrzebuje stworzyć, to pobieranie ilości lajków na FB wraz z ww. statystykami. Sytuacja jest o tyle różna, że nie przechowuje w bazie każdego lajka. Mogę jedynie pobierać ilość wszystkich polubień periodycznie i porównywać ilości ze sobą.

Wszelkie wskazówki i pomysły w dalszym ciągu mile widziane!