---
# System prepended metadata

title: Analytics MongoDB architecture issues

---

# Analytics MongoDB architecture issues

Issues:

- Vi måste räkna ut deltat värden av metrics (som störs ökning av followers) för att vi behöver sortera entiteter (som kanaler och spel) på deltat
    - Hur vill vi hantera avbrott? T ex: en channel inte har stream:at bland de som vi hämtar på säg 30 dar, så får vi med den och då får ett stort delta på followers, som en spik på första värdet, när det egentligen har rört sig lite där över tid.
    - Tillfälliga avbrott
    - Tillfälliga fördröjningar för en delmängd
    - Värden kommer in i "fel" ordning
- Sortera t ex delta metrics över perioder som sträcker sig över fler aggregationer
- Pre-aggregera på period + kanal + spel (+ mer?) behövs om man behöver sortera på dessa segment.
    - Kan bli orimligt många pre-aggregeringar?
    - Hantera varje "kanal + spel" som en rad i resultaten när man söker/sorterar på ett spel
    - Väljer man flera spel så visar man kanalens totala data för kanaler som har stream:at båda spelen under perioden
- Rank på de senaste 7/14/30/X dagar, moving window. Måste hålla koll på alla ingående värderna för att senare kunna ta bort dem.
    - Mycket enklare är dagen/veckan/månaden "X"
- Hierarkisk aggregering behöver ha minst det "senast" tillagda värdet för att kunna ta bort det när det aggregeras in igen.
- Filtrera & tagga när man sorterar kanaler
    - Sortera & filtrera på tokens samtidigt. Går det i MongoDB?
- Vi behöver ha noggrannare granularitet än 1h för att visa schysta grafer på streams. Andra tjänster kör 10min.
- Växande dokument försämrar prestandan: pre-allocation av dokument.
- Aggregera på spel över tjänster/platformar (Twitch/YT/FB)?
- Gemensamt resultat över alla platformar (Twitch/YT/FB)?
- Bort tagning av gammal data? Vi vill kanske inte ha kvar 1h granularitet kvar för data äldre än 1 år sen.
    - Collections per t ex månad.
- Sharding? Över vad? När? Shard:a senast innan DB blir över 250GB. Eller när belastningen kräver det.
- Stats över hela filtreringen. Måste aggregera hela resultatet?
    - Unika kanaler
    - Air time
    - Hours watched
    - Avg CCV
    - Avg viewers
