Replica di MongoDB: Guida completa al set di repliche passo passo
Pubblicato: 2020-02-27MongoDB ha molte funzioni. E la replica è una funzione importante tra loro. Ci sono molti vantaggi nell'esecuzione della replica. Con MongoDB, lavori con set di dati di grandi dimensioni che includono oggetti array e array incorporati. Quando lavori con oggetti array e array incorporati, dovresti mantenere la velocità di elaborazione dei dati veloce. Leggi i casi d'uso del mondo reale di MongoDB per conoscerne l'importanza.
E per mantenere la velocità di quel processo veloce, dovrai assicurarti che la disponibilità dei tuoi dati rimanga elevata. Un ottimo modo per garantire un'elevata disponibilità dei dati è eseguire la replica. La replica aiuta anche ad avere un backup e ti salva dalla perdita di dati.
In questo articolo scoprirai cos'è la replica in MongoDB, come funziona e come puoi farlo. Scoprirai anche i vantaggi dell'esecuzione della replica in MongoDB e, se si verificano errori durante l'esecuzione di questa attività, come risolverli.
Iniziamo.
Sommario
Cos'è la replica?
Durante l'utilizzo dei server, dovrai sincronizzare i tuoi dati su più server MongoDB. Il processo di replica ti aiuta in questo senso. Ti assicura di avere gli stessi dati archiviati su vari server.
La replica migliora la disponibilità dei dati. La perdita di dati è una preoccupazione significativa per le organizzazioni e la replica aiuta a mitigare le preoccupazioni relative allo stesso. Grazie all'elevata disponibilità e ridondanza dei dati, il database rimane al sicuro in caso di perdita di un singolo server. Perderai l'accesso al tuo database se l'unico server che lo memorizza va inattivo.

La replica ti assicura di non dover affrontare questi problemi. La replica di MongoDB è anche un metodo efficace per aumentare l'accessibilità dei tuoi dati. Avere copie aggiuntive dei tuoi dati è sempre vantaggioso. La replica può anche ridurre i tempi di inattività della manutenzione del server.
Hai la possibilità di dedicare un intero server al reporting, al backup o al ripristino di emergenza.
Ci sono molti vantaggi della replica in MongoDB. Scopriamoli.
Vantaggi della replica
Questi sono alcuni dei motivi per cui la replica è una pratica diffusa:
- La replica consente di recuperare i dati in caso di emergenza. Avresti un backup dei tuoi dati da cui puoi recuperare rapidamente i file persi.
- I tuoi dati rimangono sempre disponibili. Ciò significa che la replica garantisce l'accessibilità 24 ore su 24, 7 giorni su 7.
- Il tempo di inattività della manutenzione del server si riduce se si esegue regolarmente la replica.
- La replica migliora la scalabilità della lettura. Avere più copie aiuta a ridimensionare la lettura dei dati.
Oltre ai vantaggi di cui abbiamo discusso qui, anche la replica ha uno svantaggio. Poiché memorizzerai copie dei tuoi dati, dovrai disporre di più spazio di archiviazione. Anche se questo non è un problema significativo, vale la pena notare. Potrebbe essere necessario aumentare la capacità di archiviazione del server.
Come funziona la replica MongoDB
Per eseguire la replica, dovrai utilizzare i set di repliche MongoDB. Un gruppo di istanze mongod che ospitano gli stessi dati è chiamato set di repliche. Un set di repliche contiene un nodo primario. Il nodo primario riceve tutte le operazioni di scrittura.
Un set di repliche ha un solo nodo primario. Le altre istanze applicano funzioni dal nodo primario del set, inclusi i nodi secondari. In questo modo, hanno tutti lo stesso set di dati. Ecco come funziona un set di repliche MongoDB:
- Un set di repliche ha un minimo di 3 nodi
- Un nodo del set di repliche è il nodo principale. Tutti gli altri nodi presenti nel gruppo sono secondari.
- In un set di repliche, i dati vengono replicati dai nodi primari a quelli secondari
- Se si verifica un failover automatico (o durante la manutenzione), ha luogo un'elezione per determinare il primario. Quindi, i nodi selezionano un nuovo primario.
Ora che abbiamo discusso il concetto di base della replica in MongoDB, possiamo iniziare con il suo processo.
Passaggio 1: aggiungi il primo membro
Ora sai che per eseguire la replica avrai bisogno di set di repliche. Quindi, il primo passaggio della replica in MongoDB consiste nel creare un set di repliche delle sue istanze. Supponiamo di avere tre server, Server X, Server Y e Server Z. Di questi tre, Server X è quello principale e Server X e Y sono i secondari.
Sai già che la replica avviene dal server primario a quelli secondari. Innanzitutto, dovrai assicurarti che tutte le istanze mongod (che aggiungerai al set di repliche) siano installate su vari server. In questo modo, avresti più server disponibili anche se uno di essi non funzionasse, quindi avresti altre istanze di MongoDB presenti.

Quindi, dovresti assicurarti che tutte le istanze possano connettersi. Emettere i comandi forniti dal Server X:
mongo –host ServerY –porta 27017
mongo –host ServerZ –porta 27017
Dopo averli emessi dal Server X, emetterli dagli altri server rimanenti. Ora avvia la prima istanza usando l'opzione replSet. L'opzione replSet ti offre una raccolta di tutti i server che prenderebbero parte a questo processo.
mongo –replSet “ReplicaA”
Qui, ReplicaA è il nome del set di repliche. Puoi scegliere qualsiasi nome che ti piace, ma useremo questo termine per questo esempio. Dovresti emettere il comando rs.initiate() per avviare il set di repliche dopo aver aggiunto un server al set di repliche. Successivamente, dovresti verificare il tuo set di repliche.
Per farlo, emettere il comando rs.conf(). Questo passaggio ti aiuterà a garantire che la tua replica sia impostata in modo ottimale e senza problemi.
Leggi: Domande e risposte per l'intervista a MongoDB
Passaggio 2: aggiungi un server secondario
Dopo aver aggiunto il server primario, ora possiamo concentrarci sull'aggiunta di un secondo server. È possibile utilizzare il comando rs.add per questo scopo. Dovresti inserire il nome dei server secondari che desideri aggiungere in questo comando. Li aggiungerà automaticamente.
Nel nostro esempio, avevamo Server X, Server Y e Server Z. Di questi tre server, il Server X era quello principale nel set di repliche. Dovremmo aggiungere i server rimanenti come secondari. E per farlo, invieremo i seguenti comandi:
rs.add ("ServerY")
rs.add ("ServerZ")
E questo è tutto. Ora hai aggiunto con successo due secondari al tuo set di repliche.
Passaggio 3: riconfigurazione (o rimozione)
La creazione e l'aggiunta di server è solo un lato della medaglia. Potrebbe essere necessario rimuovere anche un server dal gruppo di configurazione. A tale scopo, dovresti usare il comando rs.remove.
Prima di rimuovere un server, dovrai spegnerlo. Usa il comando db.shutdownserver dalla tua shell mongo per spegnere il server richiesto. Successivamente, connettiti al server primario e usa rs.remove per rimuovere il server che devi rimuovere. Questo comando eliminerà il server richiesto dal set di repliche.
Quindi, se hai Server X, Server Y e Server Z nel tuo set di repliche, da cui devi eliminare Server Z, utilizzerai il seguente comando:
rs.remove ("ServerZ")
Come correggere gli errori del set di repliche
Durante l'esecuzione della replica in MongoDB, potresti riscontrare alcuni errori. Per risolvere questi errori, dovresti prendere l'aiuto dei seguenti metodi:
- Innanzitutto, assicurati che tutte le istanze mongo siano collegate. Quindi, se hai tre server, ovvero Server X, Server Y e Server Z. E tra questi tre server, Server X è quello principale. Dovresti dare i seguenti comandi:
mongo -host ServerY -porta 27017
mongo -host ServerZ -porta 27017
L'esecuzione dei due comandi precedenti ti aiuterà a assicurarti che siano collegati.
Ora esegui il comando status, che è rs.status. Il comando rs.status fornisce lo stato del set di repliche. I membri di un set di repliche si scambiano alcuni messaggi. Chiamiamo questi messaggi 'battito cardiaco'. Li chiamiamo battito cardiaco perché questi messaggi mostrano che il membro sta lavorando (cioè, è vivo).
Il comando rs.status controlla questi messaggi e ti dice se si verificano problemi con un membro del set di repliche.

- Puoi esaminare l'oplog. In MongoDB, l'oplog memorizza la cronologia delle scritture che hai eseguito sul tuo database. MongoDB si avvale dell'aiuto di Oplog per replicare le scritture su tutti gli altri membri del tuo set di repliche.
- È possibile controllare l'Oplog utilizzando il comando rs.printReplicationinfo dopo la connessione al membro richiesto. Il comando rs.printReplicationinfo ti mostrerà la dimensione di Oplog e il suo limite di attesa delle transazioni finché non si riempie.
E questo è tutto. Ora sai come risolvere i problemi con un set di repliche MongoDB. Con questa conoscenza, puoi iniziare a eseguire la replica in MongoDB senza dover affrontare problemi.
Pensieri finali
La replica è solo una delle tante cose che puoi fare in MongoDB. Imparare l'uso di questo programma di database non è facile. Tuttavia, con la pratica e le risorse adeguate, puoi diventare rapidamente abile nell'usarlo.
Se desideri saperne di più su MongoDB e le varie funzioni in esso presenti, vai sul nostro blog. Troverai molti articoli utili che possono aiutarti ad ampliare le tue conoscenze su questo argomento.
Se sei interessato a saperne di più sui Big Data, dai un'occhiata al nostro PG Diploma in Software Development Specialization nel programma Big Data, progettato per professionisti che lavorano e fornisce oltre 7 casi di studio e progetti, copre 14 linguaggi e strumenti di programmazione, pratiche pratiche workshop, oltre 400 ore di apprendimento rigoroso e assistenza all'inserimento lavorativo con le migliori aziende.
Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.