sql >> Database >  >> NoSQL >> MongoDB

Hoogwaardige MongoDB-clusters op Amazon EC2

Prestaties zijn een belangrijke overweging bij het implementeren van MongoDB op AWS. Vanuit hardwareperspectief worden de MongoDB-prestaties op EC2 voornamelijk bepaald door twee factoren:RAM en schijfsnelheid. Meestal (er zijn altijd uitzonderingen) zou CPU geen probleem moeten zijn, noch geheugen, aangezien er tal van grootte-opties beschikbaar zijn (R3, I2, C3/C4) die een grote hoeveelheid RAM bieden. Raadpleeg mijn andere blogpost voor meer informatie over het kiezen van het juiste instantietype: Hoe u het juiste EC2-instantietype kiest

Historisch gezien waren schijfsnelheid en latentie een constant probleem op Amazon EBS. Amazon Web Services biedt nu echter een aantal opties om u te helpen met schijfprestaties:

  1. Voorziene IOPS-schijven

    In het ingerichte IOPS-model kunt u tijdens het maken van de schijf het aantal IOPS opgeven dat u door uw schijf wilt laten ondersteunen. Hoe meer IOPS u inricht, hoe meer doorvoer uw schijf aankan. U kunt tot 4000 IOPS/schijf gaan! IOPS kan echter duur worden voor $ 0,065 per IOPS-maand. Als u bijvoorbeeld 4000 IOPS voor de schijf inricht, kost het u $ 260 per maand voor alleen de IOPS. Dit kan snel oplopen als je meerdere servers hebt.

  2. Lokale SSD

    Dit is de beste optie voor schijfprestaties op Amazon AWS. Lokale SSD's bieden de beste doorvoer en latentie van alle AWS-schijfopties. Ze worden echter niet voor niets 'lokaal' genoemd. Als uw virtuele machine (VM) om welke reden dan ook wordt gestopt, wordt de toegewezen lokale opslag vrijgegeven. De last van gegevensbetrouwbaarheid ligt dus volledig bij de gebruiker. Kun je twee lokale SSD-gegevensopslag in twee verschillende beschikbaarheidszones (AZ) implementeren en het opgelost noemen? Niet helemaal. Als AWS een regionale storing heeft, zoals een paar jaar eerder in VS-Oost, mag je verwachten dat je je lokale SSD's in al je AZ's kwijtraakt. Om deze redenen mogen lokale SSD-instanties niet worden gebruikt als de primaire gegevensopslag voor uw gegevens.

High-Performance MongoDB:3-Node Replica Set

Met deze problemen in het achterhoofd introduceren we onze hoogwaardige MongoDB-configuratie op AWS. De high-performance clusters gebruiken een hybride van lokale SSD en EBS ingerichte IOPS-schijf om zowel hoge prestaties als hoge betrouwbaarheid te bereiken. Een typische configuratie wordt geïmplementeerd met behulp van een replicaset met 3 knooppunten.

  • De primaire en de secundaire 1 gebruiken lokale SSD-schijven
  • Secundair 2 gebruikt door EBS ingerichte IOPS

Hoge prestatie MongoDB 3-Node replicaset

Wat betekent dit? Aangezien de Primary en de Secondary 1 op een lokale SSD draaien, krijgt u de best mogelijke schijfprestaties van uw AWS-machines. Geen netwerkgebaseerde EBS meer, gewoon razendsnelle lokale SSD. Leest en schrijft naar uw primaire en zelfs de leesbewerkingen van de secundaire 1 werken op SSD-snelheid. Secondary 2 gebruikt door EBS ingerichte IOPS voor de gegevensschijf en u kunt de hoeveelheid IOPS configureren die voor uw cluster moet worden geconfigureerd. Deze configuratie biedt volledige veiligheid voor uw gegevens, zelfs als u de lokale SSD-schijven gebruikt. We bieden momenteel vier maten aan:Large, XLarge, X2XLarge, X4XLarge. Raadpleeg de secties Bring Your Own Cloud (BYOC) en Dedicated Clusters op onze prijspagina voor meer informatie.

Als u een zeer hoge schrijfbelasting heeft, is het mogelijk dat uw EBS-instantie uw SSD-instanties niet bij kan houden. In dit scenario zijn er een paar opties beschikbaar en ons ondersteuningsteam helpt u er graag bij. Al onze bestaande functionaliteit, inclusief back-ups, herstel, klonen, schalen, compact, etc. blijven gewoon werken. Als je nog vragen hebt, neem dan contact met ons op via [email protected].


  1. Verbinding geweigerd voor Redis op Heroku

  2. De naam van een veld in een MongoDB-verzameling wijzigen

  3. Redis uitvoeren op Travis CI

  4. Bereken de skip-waarde voor een bepaald record voor gesorteerde paging