Redis
 sql >> Database >  >> NoSQL >> Redis

DB relazionale in memoria?

Qualsiasi DBMS può essere eseguito "in memoria". Considera l'uso di un ramdisk. Tuttavia, la maggior parte dei DBMS (quelli con SQL) non sono progettati per eseguire interamente in memoria e mettere molto di sforzo per ridurre al minimo l'IO del disco e il paging:un DBMS lavora molto duramente per mantenere caldi i "dati rilevanti" (in memoria e nella cache) -- L'IO è lento, lento.

Questo perché i dati del database sono spesso [ed storicamente sono stati] significativamente più grandi rispetto alla memoria principale. Questo e la memoria principale sono volatili :-) [I DBMS ACID eseguono molti lavori con la registrazione write-ahead - in un archivio non volatile - e altre tecniche per garantire che i dati non vengano mai danneggiati, anche in caso di arresto imprevisto. ]

Alcuni database, come SQLite, utilizzano lo stesso formato per il disco e gli archivi di memoria anche se supportano esplicitamente un archivio in memoria. Il supporto per altri back-end [in memoria] e l'ottimizzazione dell'utilizzo della memoria variano in base al provider.

Buona codifica.