Un set di repliche è un insieme di computer che sono cloni l'uno dell'altro. (ovvero:repliche ) All'interno di un dato set c'è un maestro eletto. Per impostazione predefinita, le letture e le scritture vanno a questo master eletto e le repliche "codificano" semplicemente le modifiche per essere copie aggiornate. Se il master fallisce, ne viene eletto uno nuovo e il sistema va avanti. La documentazione è qui .
Quindi chiedi informazioni sul ridimensionamento con MongoDB. Esistono due tipi di ridimensionamento:
- Leggi il ridimensionamento:usa i set di repliche (vedi qui )
- Ridimensionamento in scrittura:usa Sharding
La configurazione minima per i set di repliche è:2 repliche complete:1 arbitro (processo leggero, rompe i pareggi durante il voto)
La configurazione minima per Sharding è:1 server di configurazione:1 mongod
process (solo uno shard)- 1 o più mongos
(generalmente sul server dell'app)
Tuttavia, probabilmente non si desidera eseguire in questo modo in produzione. L'esecuzione di un solo DB significa che si dispone di un'unica fonte per i dati che può comportare grandi tempi di inattività o la perdita totale di dati. Questo problema viene generalmente risolto utilizzando set di repliche.
Inoltre, il server di configurazione è piuttosto importante. MongoDB supporta 1 o 3 server di configurazione. La maggior parte delle distribuzioni di produzione utilizza 3. Tieni presente che i server di configurazione e gli arbitri sono molto leggeri e possono vivere su altre scatole o su micro istanze Amazon.
La maggior parte delle distribuzioni di produzione con partizionamento orizzontale coinvolge anche i set di repliche. In effetti, di solito iniziano come set di repliche.
Dal punto di vista del partizionamento orizzontale, dovrebbe essere facile come:- avviare un nuovo server shard- eseguire addshard
comando da un mongos
Tieni presente che quando aggiungi uno shard, dovrai dedicare tempo e risorse mentre i dati migrano tra gli shard e tutto viene ribilanciato.