sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Es seguro eliminar el archivo de diario de mongodb?

TL;DR:Tienes dos opciones. Usa el --smallfiles opción de inicio al iniciar MongoDB para limitar el tamaño de los archivos de diario a 128 MB, o desactivar el diario usando --nojournal opción. Usando --nojournal en producción suele ser una mala idea, y a menudo tiene sentido usar diferentes preocupaciones de escritura también en desarrollo para que no tenga un código diferente en desarrollo y producción.

La respuesta larga :No, eliminar el archivo de diario no es seguro. La idea de llevar un diario es esta:

Entra una escritura. Ahora, para que esa escritura sea persistente (y la base de datos duradera), la escritura debe ir de alguna manera al disco.

Desafortunadamente, las escrituras en el disco tardan eones en comparación con las escrituras en la RAM, por lo que la base de datos se encuentra en un dilema:no escribir en el disco es arriesgado, porque un apagado inesperado podría causar la pérdida de datos. Pero escribir en el disco para cada operación de escritura disminuirá tanto el rendimiento de la base de datos que quedará inutilizable para fines prácticos.

Ahora, en lugar de escribir en los archivos de datos en sí, y en lugar de hacerlo para cada solicitud, la base de datos simplemente se agregará a un archivo de diario donde almacena todas las operaciones que aún no se han confirmado en los archivos de datos reales. Esto es mucho más rápido, porque el archivo ya está "caliente" ya que se lee y se escribe todo el tiempo, y es solo un archivo, no un montón de archivos y, por último, porque escribe todas las operaciones pendientes en un lote cada 100 ms. por defecto. Borrar este archivo en medio de algo causa estragos.