sql >> Base de Datos >  >> NoSQL >> Redis

DB relacional en memoria?

Cualquier DBMS se puede ejecutar "en memoria". Considere el uso de un ramdisk. Sin embargo, la mayoría de los DBMS (aquellos con SQL) no están diseñados para ejecutar completamente en la memoria y poner mucho de esfuerzo para minimizar la paginación y la E/S del disco:un DBMS trabaja muy duro para mantener activos los "datos relevantes" (en la memoria y en la memoria caché); la E/S es lenta, lenta, lenta.

Esto se debe a que los datos de la base de datos son a menudo [e históricamente han sido] significativamente más grandes que la memoria principal. Eso y la memoria principal son volátiles :-) [Los DBMS de ACID hacen muchos trabajos con el registro de escritura anticipada, en un almacén no volátil, y otras técnicas para garantizar que los datos nunca se corrompan, incluso en caso de un cierre inesperado. ]

Algunas bases de datos, como SQLite, utilizan el mismo formato para los almacenes de disco y memoria, aunque admiten explícitamente un almacén en memoria. La compatibilidad con otros back-end [en memoria] y el ajuste del uso de la memoria varían según el proveedor.

Codificación feliz.