Oversikt over replikering i MongoDB

MongoDB er en åpen kildekode-orientert database som er svært skalerbar, den er en NoSQL-database. Den kan brukes til datalagring med høyt volum.

MongoDB lagrer dataene i JSON-lignende format som er veldig fleksibelt, og dokumentmodellen kartlegger deretter til objektene i applikasjonskoder.

Hva er MongoDB-replikasjon?

Med replikering mener vi gruppering av servere som utfører samme funksjonalitet. Når det gjelder MongoDB, har vi MongoDB-servere for lagring av dataene. Formålet med replikering er å sikre at vi har høy datatilgjengelighet. Hvis noen av serverne går ned, bør vi alltid ha en kopi av dataene som er tilgjengelige på en annen server, slik at tilgjengeligheten ikke påvirkes.

Data bør kopieres med jevne mellomrom og med jevne mellomrom for å sikre at vi ikke taper på noen data, og selv om den primære serveren går ned, skal den andre kunne betjene brukerforespørslene.

Replikasjonen er også veldig effektiv i tilfelle av lastbalansering, for eksempel hvis vi har et antall brukere som prøver å lese eller skrive data til servere, vil det i så fall være urettferdig hvis all forespørsel blir sendt eller hentet fra bare en server, skal det være en balanseringsmekanisme som skal like fordele belastningen til de tilgjengelige serverne i klyngen, slik at ingen server går tom for minne eller båndbredde og går ned.

Working of Replication in MongoDB Process

Replikasjonen i MongoDB oppnås ved hjelp av Replica-sett. Replikksett er gruppering av MongoDB-servere. Det er en primær server, og den er ansvarlig for å motta alle forespørsler eller skriveoperasjoner fra klienter, og de andre forekomstene som blir lagt til replikasettet, vil bli kalt som sekundære forekomster som vil være ansvarlige for alle leseoperasjonene.

  • Som illustrert i diagrammet ovenfor, repliserer alle data den primære noden til sekundære noder, det vil bare være en primær node i et hvilket som helst replikatsett.
  • Hver gang en failover skjer eller noen vedlikeholdsaktiviteter utføres, velges en ny primærnode.
  • Når failover er gjenopprettet, fungerer den mislykkede noden nå som en sekundær node.
  • Klientapplikasjonen kommuniserer alltid med den primære noden, som deretter blir fulgt av replikering av data til alle sekundære noder.

Replikksett, oppretting og operasjoner

For å lage en fullverdig replikering av MongoDB-servere, må vi først lage et replikasett med MongoDB-forekomster.

La oss forestille oss at vi har tre servere, repl1, repl2 og repl3 der repl1 er den primære serveren og de resterende er sekundære servere.

Legge til replikering av primærnode i MongoDB:

  • Forsikre deg om at forekomster av mongo.exe er installert på alle de gitte serverne.
  • Alle mongod.exe må kunne pinge hverandre, det vil si at de er i stand til å kommunisere. For å sjekke det samme, vennligst kjør følgende kommandoer fra de primære serverne (til å begynne med) dvs. repl1 i vårt tilfelle.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

Tilsvarende kan vi også gjøre den samme testen fra andre servere

  • Ved å bruke kommandoen mongo –replset, bør vi kunne starte vår første mongod.exe-forekomst.
    mongo –replset “Replica_A” Hvor Replica_A er navnet på replikasettet vårt.
  • Foreløpig har vi lagt til den første serveren til replikasettet vårt, neste steg er å sette i gang replikasettet ved å utgi kommandoen rs.initiate ().
  • Det neste trinnet er bekreftelsestrinnet der vi vil sikre at uansett hva vi har konfigurert så langt er riktig, kan vi gjøre det ved å kjøre kommandoen rs.conf ().

Legge til sekundær node-replikering i MongoDB:

Når den primære serveren er lagt til, er det enkelt å legge til de andre sekundære noder, det kan vi gjøre ved å utgi kommandoen rs.add ().

Derfor kjører kommandoen nedenfor, gitt repl1 er vår primære server og repl2 og repl3 er henholdsvis sekundære servere.

rs.add ( “repl2”)

rs.add ( “repl3”)

Fjerne servere fra kopisettet:

For å fjerne en server fra et hvilket som helst replikatsett, kan det gjøres ved å bruke kommandoen rs.remove ().

Det er visse trinn som er involvert i prosessen som gitt nedenfor:

  • Først må du slå av forekomsten som må fjernes. Dette kan gjøres ved å kjøre kommandoen db.shutdownserver via mongo celle.
  • Neste trinn er å koble til den primære serveren.
  • Kjør følgende kommando, la oss si at vi har henholdsvis repl1, repl2 og repl3 som primære og sekundære servere, og vi vil fjerne repl3, så kjører vi følgende kommando:

rs.remove ( “repl3”)

Noen kommandoer for feilsøking

  • Alle mongod.exe må kunne pinge hverandre, det vil si at de er i stand til å kommunisere. For å sjekke det samme, vennligst kjør følgende kommandoer fra de primære serverne (til å begynne med) dvs. repl1 i vårt tilfelle.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

Tilsvarende kan vi også gjøre den samme testen fra andre servere

  • Rs.status () vil gi statusen til replikasettet ditt
  • For å sjekke oplog, som er en logg for å registrere alle skriveoperasjonene som ble utført, må du utgi denne kommandoen - rs.printReplicationInfo.

Fordeler med replikering i MongoDB

Formålet med replikering er å sikre at vi har høy datatilgjengelighet. I tilfelle hvis noen av serverne går ned, bør vi alltid ha en kopi av dataene som er tilgjengelige på en annen server, slik at tilgjengeligheten ikke påvirkes. Replikeringen er også veldig effektiv i tilfelle belastningsbalansering, for eksempel hvis vi har et nummer brukere av prøver å lese eller skrive data til servere.

Så lang historie er kort, de viktigste fordelene med replikering tjener følgende formål:

  1. Høy tilgjengelighet
  2. Lastbalansering

Konklusjon:

Som vi har sett, er MongoDB-replikering en prosess der vi kopierer dataene på mer enn en server for å sikre høy tilgjengelighet. Dette kan gjøres ved å lage et kopisett og legge til de primære og sekundære serverne.

Anbefalte artikler:

Dette har vært en guide til replikering i MongoDB. Her diskuterer vi oppretting, drift, arbeid, fordeler og noen kommandoer for feilsøking. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. MongoDB GUI-verktøy
  2. MongoDB-kommandoer
  3. MongoDB-alternativer
  4. Hvordan installere MongoDB