Ecco lo scenario: supponi di avere milioni di documenti JSON memorizzati come file di testo. Ogni documento JSON è un array di oggetti "activity", ognuno dei quali contiene un attributo "created_datetime". Qual è il modo migliore per unire / ordinare / filtrare / pagina attraverso queste attività tramite un'interfaccia utente web? Ad esempio, diciamo che vogliamo prendere alcune migliaia di documenti, unirli in un gigantesco array, ordinare l'array con l'attributo "created_datetime" che scende e quindi sfogliare 10 attività alla volta.
Ricorda inoltre che circa il 25% di questi documenti JSON viene aggiornato ogni giorno e che gli aggiornamenti devono essere inseriti nella visualizzazione entro 5 minuti.
Il mio primo pensiero è quello di analizzare tutti i documenti in una tabella RDBMS e quindi sarebbe solo una semplice query come "selezionare il nome principale 10, created_datetime da Activity where user_id = 12345 order by created_datetime desc".
Alcuni hanno suggerito di usare invece tecniche NoSQL come hadoop o map / ridurre. Come funzionerebbe esattamente?
Per ulteriori informazioni, vedi: Perché NoSQL è migliore per questo scenario ?