Razumevanje dnevnika v MongoDB



V spletnem dnevniku je kratek opis dnevnika v MongoDB

Delo z operacijo Mongod Write

Mongod v glavnem gosti operacije pisanja v pomnilnik v skupnem pogledu. Imenuje se skupna, ker ima preslikavo pomnilnika v dejanskem disku.





Uporabnikova podatkovna datoteka se na primer hrani na data dd in ima preslikavo pomnilnika. Tu najprej potisne vse podatke v pomnilnik, po določenem intervalu pa podatke zbriše v pomnilnik, kar se zgodi vsakih šestdeset sekund in uporabnik v tem postopku ne vpliva.

Tu se ta postopek imenuje možnost brez dnevnika, kar pomeni, da v primeru 60-sekundne zakasnitve za shranjevanje podatkov iz pomnilnika na disk ali nenadne zaustavitve to pomeni, da kakršnih koli podatkov v pomnilniku ni mogoče pridobiti. Tako postaja dnevnik pomemben tukaj.



kako zapreti aplikacijo java -

Pomembno je vedeti, da je bil dnevnik privzeto onemogočen pred različico 2.4.10, po tem pa je omogočen.

V trenutku, ko se postopek mongod začne, lahko opazimo naslednjo izjavo:

Dir = D: Rana2custom datajournal



Tu je Imenik dnevnikov podrejeni imenik v podatkovnem imeniku in je privzeto omogočen.

Kaj je dnevnik v MongoDB?

V tem procesu se v mongodu zgodi operacija pisanja, ki nato ustvari spremembe v zasebnem pogledu. Prvi blok je pomnilnik, drugi blok pa 'moj disk'. Po določenem intervalu, ki se imenuje „interval objave dnevnika“, zasebni pogled te operacije zapiše v imenik dnevnika (ki je na disku).

Ko se zgodi objava dnevnika, mongod potisne podatke v skupni pogled. Kot del procesa se iz pogleda v skupni rabi zapiše v dejanski podatkovni imenik (saj se ta postopek dogaja v ozadju). Osnovna prednost je, da imamo zmanjšan cikel s 60 sekund na 200 milisekund.

V primeru, da pride do prekinitve kadar koli ali flash disk ostane nedosegljiv zadnjih 59 sekund (ob upoštevanju obstoječih podatkov v imeniku dnevnika / operacijah pisanja), nato pa ob naslednjem zagonu mongod v bistvu ponovi vse operacije pisanja beleži in zapisuje v dejanski podatkovni imenik.

Kako deluje?

Tu se, ko se zgodi zapis, ista operacija predvaja v skupnem pogledu, nato pa se po šestdesetih sekundah zgodi bliskovni disk.

Po utripanju se podatki obdelajo. Podatki tukaj so v imeniku dnevnika označeni kot obdelani, kar pomeni, da vsakih šestdeset sekund preveri podatke, ki jih je kopiral, in tiste, ki naj bi jih odstranili iz dnevnika.

Uporaba dnevnika je kot uporaba dnevnika, ker ustvari dnevnik pisanja, da poveča trajnost. Dnevnik je začasno shranjevanje, kar pomeni, da v imenik dnevnika vodi samo dnevnik operacij pisanja. Poleg tega ima pogled v skupni rabi podatke, imenik dnevnika pa operacije.

niz do datuma pretvori v javi

Na primer, če uporabnik piše nekatere podatke brez dnevnika, ne glede na to, kateri podatki so zapisani, preslikava pomnilnika uporabniku omogoči, da ve, kje so podatki zapisani.

Povezava med zasebnim pogledom in skupnim pogledom

Ko se objava zgodi, je označena kot postopek v imeniku dnevnika in opravljeno je še preslikava trenutnega pogleda skupnega / zasebnega pogleda (brez skupne rabe podatkov).

Na grafikonu so vsi modri elementi v RAM-u (pomnilnik z naključnim dostopom), žafran pa označuje disk.

Če v tem primeru podatki ne utripajo v podatkovnem imeniku, vendar so operacije zapisovanja v podatkovnem imeniku, bo mongod ponovno obdelal in uporabil operacije pisanja v podatkovni imenik.

Pomembno je omeniti, da v primeru, ko se zrušitev zgodi pred objavo dnevnika, podatki, ki so bilipriloženov 200 milisekundah.

Upoštevajte tudi, da v imenik dnevnika še naprej pišemo dejansko operacijo.

V stavku primera, kot je „Db.class.insert“ kar je operacija vstavljanja, podatki v vstavljeni v operacije razreda. Torej razredna operacija dejansko ne ostane, ampak operacija ostane.

Upoštevati je treba tudi, da če pride do zamude pri uporabi dnevnika, to vpliva na uspešnost.

Dnevnik je lahko tudi v ozadju kot asinhroni postopek in pri operacijah ne počne ničesar sinhrono. Dnevnik je priporočljiv tudi v produkciji.

Drugič, časovni okvir intervala predaje dnevnika '200 milisekund' je nastavljiv, kar je mogoče omogočiti z '- - interval objave dnevnika' kjer koli med 3 in 300 milisekundami, kar je vse odvisno od nedelujočih zahtev (kako pogosto se zapisuje in kako kako pogosto želimo zapisovati v imenik dnevnika). Če se izvajajo težke operacije pisanja, je priporočljivo imeti manj milisekund.

Upoštevajte tudi, da zasebni pogled vsebuje dejanske podatke, saj so zasebni preslikani s skupnim pogledom. Skupni pogled tukaj utripa v podatkovni imenik.

V tem postopku je naša prednost, da imamo v primeru zrušitev strežnika in ni na voljo podatkov, ki bi jih morali zapisovati v bliskavice, nato pa bo naslednji strežnik, ki zažene mongod, preveril imenik dnevnika za obnovitev. Ponovno bo obnovil, predvajal in zapisal operacije v podatkovni imenik in se nato zagnal.

Imate vprašanje za nas? Omenite jih v oddelku za komentarje in javili se vam bomo.

Sorodne objave:

kaj je nespremenljiv predmet v javi