Žurnalistų supratimas „MongoDB“



Tinklaraštyje pateikiama glausta informacija apie žurnalų leidimą MongoDB

Darbas su „Mongod Write“ operacija

Mongodas pirmiausia naudoja atminties rašymo operacijas bendrame vaizde. Jis vadinamas bendruoju, nes turi atminties atvaizdavimą tikrame diske.





Pvz., Vartotojo duomenų failas yra laikomas duomenų dd ir jis turi atminties atvaizdavimą. Čia jis pirmiausia išstumia visus duomenis į atmintį ir po tam tikro laiko tarpo mirksina duomenis į atmintį, kuri vyksta kas šešiasdešimt sekundžių ir vartotojui šis procesas neturi įtakos.

Čia šis procesas vadinamas „No Journal Option“, o tai reiškia, kad tuo atveju, jei yra 60 sekundžių vėlavimas išsaugoti duomenis iš atminties į diską arba staiga išjungti, tai reiškia, kad bet kokie atmintyje esantys duomenys gali būti negaunami. Taigi žurnalas čia tampa aktualus.



Svarbu žinoti, kad „Journaling“ pagal numatytuosius nustatymus buvo išjungta anksčiau nei 2.4.10 versija, tačiau po to ji buvo įjungta.

Tuo metu, kai prasideda mongodo procesas, galima pastebėti šį teiginį:

Žurnalo dir = D: „Rana2custom datajournal“



Čia „Journal Directory“ yra antrinis katalogas duomenų kataloge ir pagal numatytuosius nustatymus įgalintas.

Kas yra žurnalas „MongoDB“?

Šiame procese mongode įvyksta rašymo operacija, kuri sukuria privataus vaizdo pokyčius. Pirmasis blokas yra atmintis, o antrasis - „mano diskas“. Po nurodyto intervalo, kuris vadinamas „žurnalo įvykdymo intervalu“, privatus rodinys įrašo tas operacijas žurnalo kataloge (esančiame diske).

Kai įvyksta žurnalo įsipareigojimas, mongodas perkelia duomenis į bendrą rodinį. Proceso metu jis bendrame rodinyje įrašomas į faktinį duomenų katalogą (nes šis procesas vyksta fone). Pagrindinis pranašumas yra tas, kad mes turime sumažintą ciklą nuo 60 sekundžių iki 200 milisekundžių.

Scenarijuje, kai bet kuriuo momentu įvyko staiga, arba „flash“ diskas paskutines 59 sekundes nepasiekiamas (turint omenyje esamus žurnalo katalogo / rašymo operacijų duomenis), tada, kai kitą kartą prasideda mongodas, jis iš esmės pakartoja visas rašymo operacijas prisijungia ir rašo į tikrąjį duomenų katalogą.

Kaip tai veikia?

Čia, įvykus įsipareigojimui, ta pati operacija pakartojama bendrame rodinyje, o po šešiasdešimties sekundžių įvyksta „flash“ diskas.

Po to, kai jis mirksi, duomenys yra apdorojami. Duomenys čia žurnalo kataloge pažymimi kaip apdoroti, o tai reiškia, kad kas šešiasdešimt sekundžių jis tikrina nukopijuotus duomenis ir tuos, kurie turėtų būti pašalinti iš žurnalo.

kaip naudotis vaizdine studija

Žurnalo naudojimas yra panašus į žurnalo naudojimą, todėl sukuriamas rašymo operacijų žurnalas, kuris padidina patvarumą. Žurnalas yra laikina saugykla, o tai reiškia, kad žurnalo kataloge laukiama tik laukianti rašymo operacijų žurnalas. Be to, bendrame rodinyje yra duomenys, bet žurnalo kataloge yra operacijos.

Pvz., Jei vartotojas rašo kai kuriuos duomenis be „Journaling“, tada, kad ir kokie duomenys būtų užrašyti, jo atminimo susiejimas leidžia vartotojui žinoti vietą, kur yra parašyti duomenys.

Ryšys tarp privataus ir bendrinamo vaizdo

Įvykdžius įsipareigojimą, jis pažymimas kaip procesas žurnalo kataloge ir yra dar vienas atvaizdavimas, atliekamas dabartiniam bendro / privataus rodinio rodiniui (be duomenų dalijimosi).

Diagramoje visi mėlyni elementai yra RAM (laisvosios kreipties atmintyje), o šafranas žymi diską.

Jei tokiu atveju duomenys nėra mirksintys duomenų kataloge, tačiau rašymo operacijos yra duomenų kataloge, tada mongodas apdoros ir pritaikys rašymo operacijas duomenų kataloge.

Svarbu atkreipti dėmesį į tai, kad scenarijuje, kai strigtis įvyksta prieš įvykstant žurnalui, duomenys, kurie buvopridedamasper 200 milisekundžių bus prarasta.

Taip pat atkreipkite dėmesį, kad žurnalo kataloge mes nuolat rašome tikrąją operaciją.

Teiginio pavyzdyje, pvz „Db.class.erters“ kuri yra įterpimo operacija, duomenys įterpiami į klasės operacijas. Taigi klasės operacija iš tikrųjų neužsibūna, bet operacija lieka.

Taip pat reikia pastebėti, kad jei vėluojama naudoti žurnalą, tai turi įtakos pasirodymui.

Žurnalas taip pat gali būti fone kaip asinchroninis procesas ir nieko nedaryti operacijose sinchroniškai. Žurnalus taip pat rekomenduojama gaminti.

Antra, galima sukonfigūruoti žurnalo įsipareigojimų intervalo „200 milisekundžių“ intervalą, kurį galima įjungti naudojant „- - žurnalo įsipareigojimų intervalą“ nuo 3 iki 300 milisekundžių, o tai viskas priklauso nuo neveikiančių reikalavimų (kaip dažnai rašoma ir kaip dažnai norima rašyti žurnalų kataloge). Jei vyksta sunkios rašymo operacijos, patartina turėti mažesnę milisekundę.

Taip pat atkreipkite dėmesį, kad asmeniniame rodinyje yra faktiniai duomenys, nes privatus susiejamas su bendru rodiniu. Čia bendras vaizdas perkelia jį į duomenų katalogą.

Šiame procese mes gauname pranašumą tuo atveju, jei įvyko serverio gedimai ir nėra duomenų, kuriuos reikia rašyti ant blyksčių, tada kitas serveris, iš naujo paleidęs mongodą, patikrins žurnalo katalogo atkūrimą. Jis atkurs, atkurs ir įrašys operacijas į duomenų katalogą ir tada jis prasidės.

Turite mums klausimą? Paminėkite juos komentarų skiltyje ir mes susisieksime su jumis.

Susijusios žinutės: