Sono in procinto di lavorare su una parte del sistema video on demand comporta la gestione di una struttura gerarchica ad albero (think windows explorer) che consente agli utenti di caricare video, spostare cartelle, creare nuove cartelle, ecc. sarà consentito a seconda delle autorizzazioni che hanno.
Oltre a gestire la struttura (creazione di cartelle e caricamento di video), gli iscritti visualizzeranno i contenuti (accesso in lettura). Il numero di letture sarà significativamente maggiore delle scritture.
La mia domanda (ed è grande) è che dovrei memorizzare i dati in un database (per le scritture) e avere anche una sorta di cache che verrà usata per le letture? o utilizzo due database? o c'è una soluzione migliore?
Inoltre dovrò risolvere i problemi di concorrenza che ritengo risolti per il blocco ottimistico sul database.
Ho un bel po 'di CQRS negli ultimi mesi ma non sono sicuro che questa sia la strada da percorrere.
Qualche idea?