Izpratne par žurnālu lietošanu MongoDB



Emuārs sniedz īsu informāciju par žurnālu publicēšanu MongoDB

Darbs ar Mongod Write operāciju

Mongod galvenokārt uztur atmiņā ierakstīšanas operācijas kopīgotajā skatā. To sauc par koplietojamo, jo tam ir atmiņas kartēšana faktiskajā diskā.





Piemēram, lietotāja datu fails tiek glabāts datu dd un tam ir kartēta atmiņa. Šeit tas vispirms izspiež visus datus atmiņā un pēc noteikta intervāla tos mirgo atmiņā, kas notiek ik pēc sešdesmit sekundēm, un lietotājs šajā procesā netiek ietekmēts.

Šeit šo procesu sauc par No Journal Option, kas nozīmē, ka gadījumā, ja ir 60 sekunžu aizture datu saglabāšanai no atmiņas uz disku vai pēkšņai izslēgšanai, tas nozīmē, ka neatkarīgi no atmiņā esošajiem datiem var netikt izgūti. Tādējādi žurnālistika šeit kļūst aktuāla.



pārveidot dubultā par int java

Ir svarīgi zināt, ka žurnālprogramma pēc noklusējuma tika atspējota pirms 2.4.10 versijas, bet pēc tam tā tika iespējota.

Brīdī, kad sākas mongoda process, var novērot šādu apgalvojumu:

Žurnāls dir = D: Rana2custom datajournal



Šeit Journal Directory ir pakārtots katalogs datu direktorijā, un pēc noklusējuma tas ir iespējots.

Kas ir žurnāls MongoDB?

Šajā procesā rakstīšanas operācija notiek mongodā, kas pēc tam rada izmaiņas privātajā skatā. Pirmais bloks ir atmiņa, bet otrais - ‘mans disks’. Pēc noteiktā intervāla, ko dēvē par žurnāla izdarīšanas intervālu, privātais skats šīs operācijas ieraksta žurnāla direktorijā (atrodas diskā).

Kad notikusi žurnāla saistība, mongods ievieto datus kopīgotajā skatā. Procesa ietvaros tas tiek ierakstīts faktiskajā datu direktorijā no koplietojamā skata (jo šis process notiek fonā). Galvenā priekšrocība ir tā, ka mums ir samazināts cikls no 60 sekundēm līdz 200 milisekundēm.

Scenārijā, kad jebkurā brīdī notiek pārtraukums, vai zibatmiņas disks pēdējās 59 sekundes nav pieejams (paturot prātā žurnāla direktorija / rakstīšanas operācijās esošos datus), tad, kad nākamreiz sāksies mongods, tas būtībā atkārtos visu rakstīšanas darbību reģistrējas un ieraksta faktiskajā datu direktorijā.

Kā tas strādā?

Pēc tam, kad notiek apņemšanās, tā pati darbība tiek atkārtoti atskaņota kopīgotajā skatā un pēc sešdesmit sekundēm notiek zibatmiņas disks.

Pēc tam, kad tas ir mirgojis, dati tiek apstrādāti. Dati šeit tiek atzīmēti kā apstrādāti žurnāla direktorijā, kas nozīmē, ka ik pēc sešdesmit sekundēm tas pārbauda kopētos datus un tos, kurus paredzēts noņemt no žurnāla.

Žurnāla lietošana ir tāda pati kā žurnāla izmantošana, tāpēc tiek izveidots rakstīšanas darbību žurnāls, lai palielinātu izturību. Žurnālu reģistrēšana ir pagaidu krātuve, kas nozīmē, ka tas saglabā tikai rakstīšanas darbību žurnālu kā gaidītu žurnāla direktorijā. Arī kopīgotajā skatā ir dati, bet žurnāla direktorijā ir operācijas.

Piemēram, ja lietotājs raksta dažus datus bez žurnāla, tad neatkarīgi no rakstītajiem datiem tā atmiņas kartēšana ļauj lietotājam uzzināt vietu, kur dati ir ierakstīti.

Saite starp privāto skatu un koplietoto skatu

Pēc tam, kad apņemšanās notiek, tā tiek atzīmēta kā process žurnāla direktorijā, un tiek veikta vēl viena kartēšana pašreizējam koplietojamā / privātā skata skatam (bez datu koplietošanas).

Diagrammā visi zilie vienumi atrodas RAM (brīvpiekļuves atmiņā), un Saffron apzīmē disku.

Ja tādā gadījumā dati netiek mirgot datu direktorijā, bet rakstīšanas darbības ir datu direktorijā, tad mongods pārstrādās un lietos rakstīšanas darbības datu direktorijā.

Svarīgi atzīmēt, ka scenārijā, kad avārija notiek pirms žurnāla saistības, dati, kas bijapievienots200 milisekunžu laikā tiks zaudēti.

Salesforce izstrādātāja apmācība iesācējiem

Ņemiet vērā arī to, ka žurnāla direktorijā mēs turpinām rakstīt faktisko darbību.

Paziņojuma piemērā, piemēram, ‘Db.class.insert’ kas ir ievietošanas operācija, dati, kas ievietoti klases operācijās. Tātad klases darbība faktiski nepaliek, bet operācija dzīvo.

Jāņem vērā arī tas, ka, ja žurnāla lietošana kavējas, tas ietekmē sniegumu.

Var būt arī tas, ka žurnālprogramma fonā ir kā asinhrons process un neko nedarot operācijās sinhronā veidā. Žurnālu ierakstīšana ir ieteicama arī ražošanā.

Otrkārt, ir konfigurējams žurnāla saistību intervāla laika rāmis “200 milisekundes”, ko var iespējot ar “- - žurnāla saistību intervāls” jebkur no 3 līdz 300 milisekundēm, un tas viss ir atkarīgs no nefunkcionējošām prasībām (cik bieži notiek rakstīšana un cik bieži vēlaties rakstīt žurnālu direktorijā). Gadījumā, ja notiek smagas rakstīšanas operācijas, ieteicams izmantot mazākas milisekundes.

Ņemiet vērā arī to, ka privātais skats satur faktiskos datus, jo privātie tiek kartēti ar koplietojamo skatu. Koplietotais skats šeit mirgo datu direktorijā.

Šajā procesā ieguvums ir tas, ka gadījumā, ja mums ir servera avārijas un nav pieejami dati, kas būtu jāraksta uz zibšņiem, tad nākamais servera restartēšanas mongods pārbaudīs žurnāla direktoriju atkopšanu. Tas atjaunos, atkārtos un ierakstīs operācijas datu direktorijā, un pēc tam tas tiks palaists.

Vai mums ir jautājums? Pieminiet tos komentāru sadaļā, un mēs ar jums sazināsimies.

Saistītās ziņas:

rubīns uz sliedēm darba tirgus