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 Nie byłem też niestety znaleźć niczego wartościowego w google.
Z góry dzięki!