AnnuncioTi presentiamo MongoDB 8.0, il MongoDB più veloce di sempre! Leggi >
AnnuncioVoyage AI si unisce a MongoDB per potenziare applicazioni AI più accurate e affidabili su Atlas. Scopra di più >

Come configurare un cluster MongoDB

Per creare un cluster, sarà necessario un account MongoDB Atlas.

Inizia gratis!
Scopri di più su Atlas

In quanto database moderno, MongoDB è stato inizialmente progettato con il cloud in mente e ora include funzionalità integrate per garantire un'elevata disponibilità e una facile scalabilità attraverso carichi di lavoro distribuiti. Sebbene sia vero che può essere eseguito come singola istanza, la maggior parte delle volte viene eseguito come cluster. In questo articolo imparerai i diversi tipi di cluster in MongoDB e come configurarli in MongoDB Atlas.

Che cos'è un cluster MongoDB?

In MongoDB, i cluster possono riferirsi a due diverse architetture. Possono significare un replica set o un cluster sharded. Diamo un'occhiata più da vicino a entrambi.

Set di repliche

Un replica set di MongoDB è un gruppo di uno o più server che contiene una copia esatta dei dati. Sebbene sia tecnicamente possibile avere uno o due nodi, il minimo consigliato è tre. Un nodo primario è responsabile di fornire le operazioni di lettura e scrittura per l'applicazione, mentre due nodi secondari contengono una replica dei dati.

Un tipico replica set in MongoDB.

Se il nodo primario non fosse disponibile per qualche motivo, un nuovo nodo primario verrebbe selezionato da un processo di elezione. Questo nuovo nodo primario diventerebbe responsabile delle operazioni di lettura e scrittura.

Se un nodo primario non è disponibile, il traffico dell'applicazione client viene reindirizzato a un nuovo nodo primario.

Una volta che il server difettoso torna online, si sincronizzerà con il nodo primario e diventerà un nuovo nodo secondario nel cluster.

Quando il nodo primario precedente torna online, ritorna come nodo secondario.

L'obiettivo è fornire all'applicazione un'elevata disponibilità dei dati. Anche in caso di guasto del server, la tua applicazione client può comunque connettersi al cluster e avere accesso ai dati, riducendo i tempi di inattività complessivi potenziali.

Cluster sharded

Un cluster sharded è un modo per scalare orizzontalmente distribuendo i dati su più replica set. Quando viene eseguita un'operazione di lettura o scrittura su una tabella, il client invia la richiesta a un router (mongos). Il router convaliderà quindi in quale shard sono archiviati i dati tramite il server di configurazione e invierà le richieste al cluster specifico.

Un tipico cluster sharded in MongoDB.

Ciascuno degli shard conterrebbe il proprio replica set. È inoltre necessario disporre di più router o server di configurazione per garantire l'elevata disponibilità. Con questo tipo di architettura, è possibile scalare il database quanto si desidera senza compromettere la disponibilità o preoccuparsi della capacità di archiviazione.

Creazione di un cluster MongoDB

A seconda delle tue esigenze, ci sono diversi modi per creare un cluster MongoDB. Il modo più semplice è utilizzare Atlas, la piattaforma Database-as-a-Service di MongoDB. Puoi trovare istruzioni dettagliate nella documentazione. Se è necessario eseguire MongoDB sull'infrastruttura, le istruzioni vengono fornite più avanti in questo articolo.

Per creare un cluster MongoDB in Atlas, segui questi passaggi.

1. Accedi al tuo account MongoDB Atlas su https://cloud.mongodb.com.
2. Fai clic sul pulsante "Crea".
3. Scegli il tipo di cluster (dedicato, serverless, condiviso).
4. Scegli il provider cloud e la regione.
5. Fai clic su "Crea cluster".

Il cluster MongoDB inizierà il provisioning e sarà disponibile in pochi minuti. Durante la creazione del cluster, verranno visualizzate molte opzioni per soddisfare le esigenze specifiche. Ognuna di queste opzioni di configurazione è trattata nella sezione successiva.

Configurare un cluster MongoDB in Atlas

Ogni applicazione è diversa e MongoDB Atlas ti offre numerosi modi per configurare il tuo cluster in base alle tue esigenze specifiche. Alcune configurazioni particolari devono essere considerate in anticipo, mentre altre possono essere modificate al volo. Utilizzando queste impostazioni, metterai in atto tutte le best practice per Atlas in produzione. In questa sezione, imparerai di più sulle varie configurazioni che puoi modificare durante la creazione iniziale del cluster.

Tipo di distribuzione

Il tipo di distribuzione è la prima opzione che dovrai scegliere. In base a ciò che decidi per il tipo di istanza, le altre opzioni di configurazione varieranno.

  • Serverless: questo tipo di cluster è il più flessibile dal punto di vista dei costi. È pensato per applicazioni con traffico poco frequente o variabile. Le configurazioni possibili sono mantenute al minimo indispensabile.
  • Dedicato: un cluster dedicato è destinato ai carichi di produzione. È in grado di supportare un'ampia gamma di dimensioni di server e configurazioni avanzate. Dovresti scegliere questa opzione per il tuo ambiente di produzione.
  • Condiviso: questi cluster sono pensati per essere un modo per esplorare MongoDB. Possono fornirti una sandbox in cui puoi provare MongoDB gratuitamente. Le configurazioni del server disponibili sono alquanto limitate.


Puoi trovare ulteriori informazioni sui diversi tipi di distribuzione del database nella documentazione.

Configurazione di cluster globale

Se sono necessari più cluster sharded con operazioni di lettura e scrittura in posizioni specifiche, sarà necessario abilitare la configurazione di cluster globale. Da qui, puoi scegliere esattamente dove vuoi ciascuno dei tuoi cluster e configurare le mappature tra il paese dell'utente e il server che utilizzerà per l'accesso ai dati.

Provider cloud e regione

Indipendentemente dal tipo di distribuzione scelto, dovrai scegliere il provider cloud, insieme alla regione specifica in cui desideri distribuire il cluster. È possibile creare un'istanza dei cluster MongoDB su uno qualsiasi dei tre principali provider cloud. Se si desidera garantire una disponibilità ancora migliore, è possibile distribuire ogni nodo del cluster in aree diverse o anche in cloud diversi. Per farlo, dovrai attivare l'opzione Multi-cloud, Multi-regione e Isolamento dei carichi di lavoro. Da qui, sarai in grado di configurare il numero e i tipi di nodi (elettivi, di sola lettura o analitici) che faranno parte del tuo replica set.

Livello del cluster

Ora che hai scelto una regione e un provider cloud, dovrai scegliere quale livello desideri utilizzare per i nodi nel tuo cluster. Questa configurazione avrà l'impatto più significativo sul prezzo del tuo cluster. Le opzioni disponibili sono molteplici e ciascuna di esse può essere ulteriormente modificata. Prendi in considerazione la quantità di CPU e RAM di cui avrai bisogno. Le tue esigenze di risorse ti aiuteranno a trovare il livello giusto per il tuo cluster.

È quindi possibile modificare ulteriormente la configurazione del cluster regolando le dimensioni dello spazio di archiviazione, attivando le opzioni di scalabilità automatica e l'IOPS necessari. Nei livelli superiori di AWS (M40+), potrai anche scegliere la classe di server (bassa CPU, generale o SSD NVMe locale), che influirà anche sul numero di CPU, RAM e capacità di archiviazione.

Impostazioni aggiuntive

In quest'ultima scheda, troverai molti servizi aggiuntivi che puoi aggiungere al tuo cluster. La prima opzione è la versione di MongoDB che desideri utilizzare per MongoDB. Avrai quindi anche la possibilità di abilitare o disabilitare i backup automatici. Puoi anche espandere le impostazioni aggiuntive, che ti forniranno opzioni più avanzate come il partizionamento orizzontale del tuo cluster, l'aggiunta del BI Connector e la gestione delle chiavi di crittografia.

La maggior parte delle impostazioni scelte può essere aggiornata in qualsiasi momento, offrendo una grande flessibilità man mano che l'applicazione si sviluppa.

Creazione di un cluster MongoDB in diversi ambienti

Se un'istanza di MongoDB basata su cloud non è un'opzione per te, o se hai bisogno di eseguire un cluster sulla tua infrastruttura, puoi installare MongoDB sui sistemi operativi supportati. Oltre a MongoDB stesso, si consiglia di installare Ops Manager o Cloud Manager per gestire i cluster.

Crea un cluster MongoDB in Linux (Ubuntu, CoreOS)

Per creare un cluster MongoDB in Linux, avrai bisogno di tre istanze di MongoDB in esecuzione. Queste istanze devono essere in grado di comunicare tra di loro su una rete locale.

Puoi trovare le istruzioni dettagliate per configurare il tuo cluster in Linux nella documentazione.

Crea un cluster MongoDB con Docker

Se desideri installare un'istanza locale di MongoDB nel tuo ambiente o configurare un ambiente di sviluppo temporaneo da condividere con i tuoi colleghi, puoi utilizzare Docker. Puoi farlo avviando tre istanze locali di MongoDB in Docker, quindi seguendo le istruzioni nella documentazione.

Prossimi passi

Ora che sai come creare e impostare il tuo cluster, potresti voler saperne di più su come trovare la topologia di cluster giusta per le tue esigenze. Perché non continuare il tuo apprendimento con il video sulla topologia di configurazione del cluster su MongoDB University? Una volta che avrai acquisito familiarità con tutte le possibili configurazioni per il tuo cluster MongoDB, potrai provare MongoDB Atlas gratuitamente. Con il cluster impostato come meglio credi, puoi assicurarti che i tuoi dati saranno resi disponibili ai tuoi utenti e che potrai scalare quando necessario.

È pronto a provare di persona?

Acquisisci esperienza pratica creando e configurando un cluster oggi stesso. Tutto ciò di cui hai bisogno è un account Atlas gratuito.
Inizia subito