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

Cluster MongoDB ad alte prestazioni su Amazon EC2

Le prestazioni sono una considerazione importante quando si distribuisce MongoDB su AWS. Dal punto di vista hardware, le prestazioni di MongoDB su EC2 dipendono principalmente da due fattori:RAM e velocità del disco. In genere (ci sono sempre delle eccezioni), la CPU non dovrebbe essere un problema, né la memoria, poiché sono disponibili molte opzioni di dimensioni (R3, I2, C3/C4) che offrono una grande quantità di RAM. Per maggiori dettagli su come scegliere il tipo di istanza corretto, consulta il mio altro post del blog: Come scegliere il tipo di istanza EC2 corretto

Storicamente, la velocità e la latenza del disco sono state un problema costante su Amazon EBS. Tuttavia, Amazon Web Services offre ora un paio di opzioni per aiutarti con le prestazioni del disco:

  1. Dischi IOPS forniti

    Nel modello IOPS con provisioning, puoi specificare al momento della creazione del disco il numero di IOPS che vorresti che il tuo disco supportasse. Più IOPS esegui il provisioning, maggiore è il throughput che il tuo disco sarà in grado di gestire. Puoi arrivare fino a 4000 IOPS/disco! Tuttavia, IOPS può diventare costoso a $ 0,065 al mese IOPS. Ad esempio, se esegui il provisioning di 4000 IOPS per il disco, ti costerà $ 260 al mese solo per gli IOPS. Questo può aumentare rapidamente se hai più server.

  2. SSD locale

    Questa è l'opzione migliore per le prestazioni del disco su Amazon AWS. Gli SSD locali offrono il miglior comportamento in termini di velocità effettiva e latenza di tutte le opzioni del disco AWS. Tuttavia, sono chiamati "locali" per un motivo. Se, per qualsiasi motivo, la macchina virtuale (VM) viene arrestata, lo spazio di archiviazione locale allocato viene rilasciato. Quindi, l'onere dell'affidabilità dei dati è a carico dell'utente. Potresti distribuire due archivi dati SSD locali in due diverse zone di disponibilità (AZ) e definirlo risolto? Non proprio. Se AWS ha un'interruzione a livello regionale come negli Stati Uniti orientali alcuni anni prima, dovresti aspettarti di perdere i tuoi SSD locali in tutte le tue AZ. Per questi motivi, le istanze SSD locali non devono essere utilizzate come archivio dati principale per i tuoi dati.

MongoDB ad alte prestazioni:set di repliche a 3 nodi

Con questi problemi in mente, stiamo introducendo la nostra configurazione MongoDB ad alte prestazioni su AWS. I cluster ad alte prestazioni utilizzano un ibrido di SSD locale e disco IOPS con provisioning EBS per ottenere prestazioni elevate e affidabilità elevata. Una configurazione tipica viene distribuita utilizzando un set di repliche a 3 nodi.

  • Il Primario e il Secondario 1 utilizzano dischi SSD locali
  • Il secondario 2 utilizza IOPS con provisioning EBS

Set di repliche a 3 nodi MongoDB ad alte prestazioni

Cosa significa? Poiché il Primario e il Secondario 1 sono in esecuzione su SSD locale, ottieni le migliori prestazioni del disco possibili dalle tue macchine AWS. Niente più EBS basato sulla rete, solo velocissimi SSD locali. Legge e scrive sul tuo primario e anche le letture dal secondario 1 funzioneranno alla velocità dell'SSD. Il secondario 2 utilizza gli IOPS forniti da EBS per il disco dati ed è possibile configurare la quantità di IOPS da configurare per il cluster. Questa configurazione garantisce la completa sicurezza dei tuoi dati, anche nel caso in cui utilizzi i dischi SSD locali. Attualmente offriamo quattro taglie:Large, XLarge, X2XLarge, X4XLarge. Per maggiori dettagli, fai riferimento alle sezioni Bring Your Own Cloud (BYOC) e Cluster dedicati nella nostra pagina dei prezzi.

Se hai un carico di lavoro di scrittura molto elevato, è possibile che la tua istanza EBS non sia in grado di tenere il passo con le tue istanze SSD. In questo scenario, sono disponibili alcune opzioni e il nostro team di assistenza sarà felice di guidarti attraverso di esse. Tutte le nostre funzionalità esistenti, inclusi backup, ripristini, cloni, ridimensionamento, compattazione, ecc. continuano a funzionare normalmente. In caso di ulteriori domande, contattaci all'indirizzo [email protected].