Sto provando a pianificare un nuovo ambiente di database da zero e mi chiedo quanti server sono necessari e quante prestazioni dovrebbero fornire.Hardware per un ambiente MongoDB sharded + ridondante
Dal momento che voglio che sia veloce, sto considerando l'utilizzo di memoria SSD e carichi di RAM. Tuttavia, la memoria flash è costosa e costituisce la parte più grande del costo di un server. Pertanto, l'intero sistema dovrebbe essere impostato per il ridimensionamento orizzontale dall'inizio, quindi posso aggiungere più nodi quando ho bisogno di più spazio di archiviazione/prestazioni.
Per iniziare, sto pensando di utilizzare 2 frammenti, ciascuno costituito da un master e uno slave di replica per la ridondanza. La documentazione di MongoDB suggerisce l'utilizzo di 1 master e 2 slave, ma temo che non sia nel budget disponibile, poiché ciascuno di questi server sarà dotato di circa 200 GB di RAM e SSD 6x400 GB come Raid 10.
Quando si usano i frammenti, si suggerisce anche di utilizzare 3 server di configurazione per la sicurezza/alta disponibilità. Come sopra, sto pensando a 1 padrone e 1 schiavo come inizio.
- Quale tipo di hardware suggeriresti di installare i server di configurazione ? Dovrebbero essere alquanto performanti come i nodi shard nei termini di cpu/memory/harddisk? O posso metterli su virtualizzazione o su hardware più economico?
- La configurazione che ho descritto ha senso? Come circa il rapporto tra RAM e hard disk sui nodi shard? Al momento sarebbe probabilmente più semplice ed economico mettere solo il doppio del numero di dischi in 1 frammento (1 master, 1 slave) e saltare il sharding fino a quando non ne ho davvero bisogno. Tuttavia (come detto sopra) - il sistema dovrebbe essere pronto per la condivisione dall'inizio, perché i bisogni di storage possono cambiare durante la notte. O è possibile impostare tutto, ma per ora è in esecuzione su 1 frammento?
- Dal momento che sto solo pensando di utilizzare 2 anziché 3 server per la massima disponibilità/fail safe probabilmente ho bisogno anche di arbitri. Hanno anche l'hardware dedicato ? Oppure posso usare un arbitro in un mashine virtuale che serve server di configurazione e nodi shard? O si sta utilizzando 3 server separati per la ridondanza assolutamente necessario?
Memoria SSD? Suppongo che tu intenda una sorta di ibrido in cui lo swap viene utilizzato anche su SSD. No, il tuo working set dovrebbe essere contenuto nella RAM, SSD ti aiuta quando devi colpire il disco. La memoria flash dovrebbe essere abbastanza economica con la maggior parte dei provider, l'SSD dovrebbe essere molto costoso.Perché hai bisogno di un server così grande ?? Inoltre, tutti i membri non devono essere potenti quanto le macchine che possono ricevere operazioni. I server di configurazione possono essere installati su hardware di base, ma memorizzano solo le impostazioni per il cluster. Gli arbitri non hanno bisogno di hardware dedicato – Sammaye
Un arbitro non è altro che un mognod vuoto che esegue il ping di un voto, vorrei chiedermi perché hai bisogno di un server così grande, voglio dire, stai pensando di avere 200 GB di lavoro su questo budget ?? Inoltre potresti trovare alcuni server più piccoli meglio – Sammaye
Anche i server di configurazione non sono serviti dagli arbitri, sono collegati a due cose completamente diverse, una di replicazione e l'altra di condivisione. Infatti più leggo ti sembra confondere completamente il sharding e la replicazione – Sammaye