MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Suggerimenti per l'aggiornamento all'ultima versione di MongoDB

Le ultime versioni di MongoDB sono costruite per integrare funzionalità nuove o migliorate rispetto alle versioni precedenti. Per questo motivo, si consiglia di eseguire l'ultima versione per le massime prestazioni e funzionalità aggiuntive. Inoltre, le ultime versioni potrebbero essere il risultato di bug risolti a seconda del versionamento di MongoDB.

Versionamento MongoDB

Le versioni di MongoDB sono nella forma X.Y.Z.

  • Quando Y è pari, ovvero 4.0 o 4.2, si riferisce a una serie di versioni stabile, quindi consigliata per la produzione. In questo caso vengono integrate nuove funzionalità che potrebbero causare incompatibilità con le versioni precedenti.
  • Se Y è dispari, cioè 4.1 o 4.3, si riferisce a serie di sviluppo che non sono stabili, quindi consigliate solo per il test.
  • Z si riferisce a un numero di revisione/patch. Implica la correzione di bug e modifiche compatibili con le versioni precedenti.

Anche considerare le versioni dei driver MongoDB è importante per garantire un database dalle prestazioni ottimali.

Considerazioni prima dell'aggiornamento

  1. Backup :A metà dell'aggiornamento potrebbe verificarsi un arresto anomalo e alla fine compromettere l'integrità dei dati contenuti nel database. Pertanto, si consiglia di eseguire sempre un backup dei dati prima di eseguire l'aggiornamento a una determinata versione.
  2. Finestra di manutenzione :Potrebbe verificarsi una certa complessità durante l'aggiornamento a una versione se sono coinvolti set di repliche. È necessario pianificare abbastanza tempo per questo processo in modo da non incontrare tempi di inattività elevati.
  3. Compatibilità delle versioni :Assicurati di leggere le note di rilascio e controlla se la configurazione del tuo sistema sarà compatibile con la versione a cui desideri eseguire l'aggiornamento. Controlla anche la documentazione sulla compatibilità dei driver nella pagina Compatibilità dei driver se possono andare di pari passo con la versione di MongoDB a cui desideri eseguire l'aggiornamento. Ad esempio da MongoDB 4.2 in su non c'è supporto per il sistema Ubuntu 16.04 PPCLE.
  4. Cambia stream :i flussi di modifiche sono progettati per consentire alle applicazioni di accedere alle modifiche ai dati in tempo reale senza necessariamente rallentare l'oplog. Per le versioni di MongoDB precedenti alla 4.0.7, il flusso di modifiche utilizza un token di ripristino della versione 0 v0 mentre questa versione e le successive utilizzano un token di ripristino della versione 1 v1. Si consiglia ai clienti di attendere il completamento dell'aggiornamento prima di riprendere i flussi di modifiche durante l'aggiornamento alla versione 4.0.7.
  5. Controllo dell'ambiente di staging :assicurarsi che tutte le configurazioni siano impostate correttamente prima di aggiornare l'ambiente di produzione e che siano compatibili con la nuova versione a cui si desidera eseguire l'aggiornamento.
  6.  Principale -Secondario -Architettura dell'arbitro (PSA) :MongoDB versione 3.6 e successive abilita il supporto per il problema di lettura "maggioranza" per impostazione predefinita. Tuttavia, questa configurazione può comportare una pressione della cache di archiviazione e l'unico modo per evitarlo è disabilitare questo parametro. Tuttavia, la disabilitazione di questo parametro può sollevare più preoccupazioni, ad esempio:
    1. Il supporto per le transazioni su cluster partizionato sarà influenzato da quanto segue:
      1. se uno shard ha letto la preoccupazione "maggioranza" disabilitata, genererà un errore per una transazione che scrive su più shard.
      2. Impossibile utilizzare "snapshot" dell'interesse di lettura per una transazione che coinvolge uno shard con un problema di lettura "maggioranza" disabilitato
    2. I comandi collMod responsabili della modifica di un indice dal rollback non funzioneranno. Ciò impone che se un'operazione deve essere ripristinata, è necessario utilizzare il nodo primario per risincronizzare i nodi interessati.
    3. Anche il supporto per i flussi di modifiche per MongoDB 4.0 e versioni precedenti sarà disabilitato.
    4. Le transazioni dei set di repliche non sono interessate dalla disattivazione di questo parametro.

Procedure per l'aggiornamento

  1. Fai un backup dei tuoi dati.
  2. Aggiorna il binario mongod/mongos separatamente utilizzando lo strumento di gestione dei pacchetti di sistema insieme ai pacchetti MongoDB ufficiali. Puoi anche aggiornare i mongos sostituendo i binari esistenti con i nuovi binari usando questa procedura:
    1. Scarica i binari MongoDB per la revisione a cui desideri aggiornare e archivia il file compresso scaricato in una posizione temporanea.
    2. Chiudi l'istanza.
    3. Utilizza i binari scaricati per sostituire i binari MongoDB esistenti.
    4. Riavvia l'istanza.
  3. Se si aggiorna un set di repliche, aggiornare ogni membro separatamente iniziando con i secondari e il primario per ultimo. Per aggiornare le secondarie:
    1. Aggiorna il binario mongod
    2. Attendere che il secondario torni allo stato SECONDARY e, al termine, aggiornare l'istanza successiva. rs.status() viene utilizzato per verificare lo stato del membro in una shell mongo. È possibile che vengano visualizzati gli stati RECOVERING e STARTUP, ma dovrai attendere fino a quando non torna a SECONDARY.
  4. Quando si aggiorna il primario:
    1. In una shell mongo usa rs.stepDown() per ridurre il primary come metodo per avviare un normale failover. Dal momento che non verranno accettate scritture durante il periodo, si consiglia di effettuare l'aggiornamento nel più breve tempo possibile.
    2. Finché non vedi che un altro membro è stato eletto primario, aggiorna i binari del primario di spegnimento.
    3. Riavvia il primary al termine dell'aggiornamento ma se ne controlli lo stato, rs.status(), potrebbe essere etichettato come secondario.
  5. Per eseguire l'aggiornamento per un cluster suddiviso in MongoDB 4.4:
    1. Assicurati che il bilanciatore sia stato disabilitato.
    2. Aggiorna i server di configurazione nello stesso modo in cui hai aggiornato il set di repliche.
    3. Aggiorna lo shard utilizzando la procedura corrispondente, ad esempio un set di repliche o uno standalone.
    4. Aggiorna ogni istanza di mongos in ordine.
    5. Riattiva il bilanciatore.

Conclusione

Con il tempo i dati diventano più complessi, quindi richiedono funzionalità di database avanzate in grado di soddisfare le specifiche degli amministratori di database. MongoDB non fa affidamento su questo poiché rilascia sempre versioni di database con bug corretti o funzionalità integrate di recente. Si consiglia di eseguire sempre l'aggiornamento all'ultima versione di MongoDB per ottenere le massime prestazioni. Tuttavia, prima di effettuare un aggiornamento è necessario controllare le note di rilascio per la versione a cui si desidera aggiornare se è compatibile con il proprio sistema. È consigliabile anche aggiornare i driver MongoDB corrispondenti.