TL;DR:Имате две възможности. Използвайте --smallfiles
опция за стартиране при стартиране на MongoDB, за да ограничите размера на файловете на журнала до 128 MB, или да изключите журналирането с помощта на --nojournal
опция. Използване на --nojournal
в производството обикновено е лоша идея и често има смисъл да се използват различни проблеми при писане и в разработката, така че да нямате различен код в dev и prod.
Дългият отговор :Не, изтриването на файла на дневника не е безопасно. Идеята на воденето на дневник е следната:
Идва запис. Сега, за да направим това записване трайно (и базата данни трайна), записът трябва по някакъв начин да отиде на диска.
За съжаление записите на диска отнемат еони в сравнение със записите в RAM паметта, така че базата данни е в дилема:да не се записва на диска е рисковано, защото неочаквано изключване би причинило загуба на данни. Но записването на диска за всяка отделна операция на запис ще намали производителността на базата данни толкова силно, че тя ще стане неизползваема за практически цели.
Сега вместо да пише в самите файлове с данни и вместо да го прави за всяка заявка, базата данни просто ще добави към файл на дневник, където съхранява всички операции, които все още не са били ангажирани с действителните файлове с данни. Това е много по-бързо, защото файлът вече е „горещ“, тъй като се чете и записва през цялото време и е само един файл, а не куп файлове, и накрая, защото записва всички чакащи операции в пакет на всеки 100 мс по подразбиране. Изтриването на този файл по средата на нещо причинява хаос.