Ho un servizio di notizie con migliaia di utenti.
Ogni utente può iscriversi a una serie di tag e siti che vorrebbero seguire singolarmente.
A un tag o un sito sono allegati articoli.
Un utente può potenzialmente avere 1-500 di questi che desidera seguire.
Ogni utente deve avere una pagina in cui vengono presentati questi articoli, in base ai tag e ai siti che l'utente segue.
La frequenza di aggiornamento in termini di articoli è di circa 2000 al giorno.
Ogni volta che un articolo viene creato / aggiornato / cancellato, è necessario aggiornare la singola pagina di ciascun utente in base ai tag e ai siti che seguono.
Credo che potremmo eseguire un calcolo di background su ogni dato di pagina degli utenti quando aggiorniamo la serie di articoli. Quindi popoliamo ogni "bucket" di utenti con i dati a cui solo l'utente deve essere esposto. Ma dal momento che lo facciamo 2000 volte / 24 ore deve essere performante.
Non sono sicuro su come questo si ridurrà e su come andrà a finire, e vorrei qualche contributo in merito come questo potrebbe essere fatto in una materia semplice ma performante.
Usiamo Redis come archivio dati se questo ti aiuta in alcun modo.