sql >> Database teknologi >  >> NoSQL >> MongoDB

Er det sikkert at slette journalfilen for mongodb?

TL;DR:Du har to muligheder. Brug --smallfiles opstartsmulighed ved start af MongoDB for at begrænse størrelsen af ​​journalfilerne til 128 MB, eller slå journalisering fra ved hjælp af --nojournal mulighed. Brug af --nojournal i produktion er normalt en dårlig idé, og det giver ofte mening at bruge forskellige skriveproblemer også i udviklingen, så du ikke har forskellig kode i dev og prod.

Det lange svar :Nej, det er ikke sikkert at slette journalfilen. Idéen med journalisering er denne:

En skrivning kommer ind. Nu, for at gøre skrivningen vedvarende (og databasen holdbar), skal skrivningen på en eller anden måde gå til disken.

Desværre tager skrivning til disken evigheder sammenlignet med skrivning til RAM, så databasen er i et dilemma:ikke at skrive til disken er risikabelt, fordi en uventet nedlukning ville forårsage datatab. Men at skrive til disken for hver enkelt skriveoperation vil reducere databasens ydeevne så meget, at den bliver ubrugelig til praktiske formål.

Nu i stedet for at skrive til selve datafilerne, og i stedet for at gøre det for hver anmodning, vil databasen blot tilføje en journalfil, hvor den gemmer alle de operationer, der endnu ikke er blevet forpligtet til de faktiske datafiler. Dette er meget hurtigere, fordi filen allerede er 'hot', da den læses og skrives til hele tiden, og det er kun én fil, ikke en masse filer, og endelig fordi den skriver alle ventende operationer i en batch hver 100 ms. som standard. Sletning af denne fil midt i noget skaber kaos.



  1. En oversigt over MongoDB Atlas:Anden del

  2. Fordele og ulemper ved at bruge Selleri vs. RQ

  3. Introduktion til HDFS Federation &Architecture

  4. Meteor:forskel mellem navne på samlinger, variabler, publikationer og abonnementer?