sql >> Databasteknik >  >> NoSQL >> MongoDB

10 frågor att ställa (och svara på) när du är värd för MongoDB på AWS

Har du dina MongoDB-produktionsinstanser på Amazon AWS? På ScaleGrid hanterar vi hundratals produktionsmongoDB-instanser på AWS och har lärt oss några saker på vägen. Här är en uppsättning med 10 frågor du måste ställa dig själv och svara på när du fortsätter att hantera din implementering. Nästan all information nedan är tillämplig på andra molntjänsteleverantörer också.

  1. Vad är din plan för hög tillgänglighet (HA)?

    Om du använder en enda instans kan det vara dags att titta på replikuppsättningar. När du använder replikuppsättningar, se till att du distribuerar varje replikuppsättning i en annan tillgänglighetszon för MongoDB hög tillgänglighet.

  2. Vad är din katastrofåterställningsplan (DR)?

    Om du distribuerar alla dina replikuppsättningar i en region, vad händer när en hel AWS-region smälter ner som den hände i april 2011? Du kanske vill undersöka hur du distribuerar dina MongoDB-replikuppsättningar över regioner.

  3. Har du testat din DR-plan?

    Simulera maskin-, nätverks- och diskfel för att förstå ditt klusterbeteende under felförhållanden. Du vill inte stöta på din första failover i produktionen och måste se till att ditt MongoDB-kluster kan överleva ett AWS-avbrott.

  4. Säkerhetskopierar du dina instanser?

    Ja, du behöver säkerhetskopior även om du har replikuppsättningar. Säkerhetskopiering är nödvändigt för att hantera oavsiktlig radering eller när en ny version av din app korrumperar all din data. Se till att du säkerhetskopierar regelbundet – helst med några timmars mellanrum. Du kan säkerhetskopiera från den sekundära så att det inte blir stor påverkan på den primära. För en allmän översikt över MongoDB backup alternativ, se vårt blogginlägg - MongoDB backup options.

  5. Fungerar dina säkerhetskopior?

    Har du testat en återställning av en MongoDB-säkerhetskopia? Hur lång tid tar det att återhämta sig och få alla dina repliker omsynkroniserade? Om du inte vet svaret är det nu ett bra tillfälle att göra en torrkörning och försöka återhämta dig från början.

  6. Hur testar du programuppgraderingar med produktionsdata?

    En av de svåraste delarna av MongoDB-applikationsuppgraderingar är att testa med befintlig produktionsdata. Bygg en sekvestrerad produktionsliknande miljö där du kan testa dina applikationsuppgraderingar med produktionsdata.

  7. Vilken typ av EBS-volymer använder du?

    Om du använder standard EBS-volymer för MongoDB på AWS, överväg att byta till de nya tillhandahållna IOPS-volymerna. Det är lite dyrare, men värt varenda krona. Du kommer att se mycket mindre fluktuationer i IO-prestanda och sova lättare hela natten.

  8. Har du benchmarkat prestandan för dina MongoDB-instanser?

    Om du inte har gjort det kan du benchmarka MongoDB med Yahoo molnserverbenchmark (YCSB) eller mongoperf. Det är bra att veta vad du får från dina databaser.

  9. Hur övervakar du dina instanser?

    Om du inte övervakar dina instanser skulle det vara ett bra tillfälle att börja nu. Prova ScaleGrids MongoDB Monitoring Console, eller så har 10gen en gratis tillgänglig Mongo Monitoring Service (MMS) som du kan börja använda för att övervaka dina MongoDB-kluster.

  10. Exponerar du dina databaser för internet?

    Dagens kraftfulla CPU- och lösenordsknäckande verktyg kommer att knäcka ditt lösenord inom några timmar. Använd Amazon Security Groups för att låsa åtkomst till din MongoDB-databas och bara ge din främre/mellannivå åtkomst till DB.

På ScaleGrid har vi hjälpt till att svara på ett antal av dessa frågor för våra kunder och ville dela med oss ​​av dessa tips för att hjälpa dig hantera dina MongoDB-implementeringar på AWS. Vi tillhandahåller en enkelklicksdistribution av MongoDB-replikuppsättningar över tillgänglighetszoner eller regioner, har en automatisk säkerhetskopierings- och återställningsprocess, använder endast provisionerad IOPS och tillhandahåller enkla sätt för våra kunder att benchmarka MongoDB och även simulera failover i MongoDB-kluster. Om du har andra frågor/kommentarer eller funktionsförfrågningar vill vi gärna höra från dig. Du kan maila oss på [email protected].


  1. returförfrågan baserad på datum

  2. Flaska efter exempel – Implementera en Redis-uppgiftskö

  3. Hur skapar du db (key_space) i redis

  4. Hur man får klienten att ladda ner en mycket stor fil som genereras i farten