La prima cosa che devi chiederti è, perché vuoi passare a un database NoSQL?
Le risposte potrebbero essere:è necessaria una maggiore velocità, si desidera un sistema di database replicato e distribuito, è necessaria una maggiore scalabilità per l'archiviazione o la replica utilizzata. Oppure vuoi beneficiare probabilmente di uno sviluppo più semplice.
Ma da 300 record non ne penso nessuno, ma di quest'ultimo ti aiuterebbe.
E non penso che tu voglia davvero una soluzione "in memoria". In memoria significa che tutti i dati sono stati scritti solo sulla ram e se chiudi il database, tutti i tuoi dati andranno persi. Se lo vuoi davvero, MySQL ha un motore di archiviazione in memoria.
Altrimenti tutto il database memorizzerà nella cache il maggior numero possibile di memorie. E probabilmente 300 record saranno completamente nella tua ram anche sotto MySQL. Probabilmente non ottieni vantaggi in termini di velocità dal passaggio a un database NoSQL.
Se in generale prevedi di passare a un database NoSQL, preferirei MongoDB. È un mix di NoSQL e un RDBMS, perché ti offre un linguaggio di query potente quasi come SQL. E puoi chiamarlo meglio di RDBMS. E per me, la programmazione sarà più complicata rispetto a un database privo di schemi. Puoi scalare MongoDB fino a 1000 server.
Ma altri database NoSQL hanno molta più scalabilità. Se hai bisogno di più server, altri database probabilmente sarebbero migliori. Ma perdi il modo di interrogare i tuoi dati.
Se in genere prevedi di passare a un database NoSQL, penso che MongoDB possa gestirlo. Altri database NoSQL sono probabilmente migliori per alcuni casi specifici e non per un uso generale.