sql >> Database >  >> NoSQL >> MongoDB

MongoDB uitvoeren op DigitalOcean

DigitalOcean is een in New York gevestigde hostingprovider die gespecialiseerd is in op SSD gebaseerde virtuele machines. Een meerderheid van onze klanten kiest ervoor om databases op Amazon AWS te implementeren en te beheren, maar het uitvoeren van grootschalige schrijfintensieve databases op AWS is een vrij moeilijke en tijdrovende operatie. Als je meer wilt weten over deze problemen, ga dan naar Wat ik graag zou willen zien in EC2... We gebruiken DigitalOcean nu een aantal maanden en zijn verheugd om te delen wat we over het systeem hebben geleerd.

Wat vinden we leuk aan DigitalOcean?

  1. SSD's zijn geweldig

    Het voelt zo goed om een ​​database op SSD's te draaien. De schijfdoorvoer is geweldig en u kunt duidelijk de voordelen zien wanneer u een index uitvoert of een database repareert. Deze operatie duurde vroeger uren op Amazon Elastic Block Store (EBS), en we kunnen nu in slechts een paar minuten klaar zijn op DigitalOcean. Als u uw database momenteel niet op een SSD draait, moet u uw beslissing zeker heroverwegen.

  2. Eenvoud

    De API en de gebruikersinterface zijn eenvoudig en elegant. Het is heel eenvoudig om te bereiken wat je wilt met slechts een paar klikken of een paar regels code. Ik hoop dat ze de eenvoud behouden terwijl ze nieuwe functies blijven toevoegen.

  3. Prijzen

    De prijs is geweldig - eenvoudig en laag. U hoeft zich ook geen zorgen te maken over on-demand versus gereserveerde instanties.

  4. Lage latentie van Amazon

    De latentie van Amazon AWS US-East en het DigitalOcean NY-datacenter is ongeveer 5-8 ms. Dit maakt het voor klanten mogelijk om AWS te blijven gebruiken voor hun front- en mid-tier, en hun clusters voor MongoDB op DigitalOcean te implementeren.

Wat kan er verbeterd worden aan DigitalOcean?

  1. Beschikbaarheidskader

    We zouden graag een beschikbaarheidsframework zien dat vergelijkbaar is met EC2-beschikbaarheidszones. Op dit moment, wanneer we dubbel zeker moeten zijn van uptime, lopen we over verschillende datacenters NY1, NY2, SFO en Amsterdam. Op de lange termijn zou het echter goed zijn om de constructie van de 'beschikbaarheidszone' in één datacenter te zien.

  2. Online momentopnamen

    DigitalOcean heeft geen online snapshots, dus u moet uw machine afsluiten voor snapshots. Dit maakt het maken van back-ups of snapshots belachelijk moeilijk. MongoDump / MongoRestore is niet echt een optie voor grote implementaties. We hebben veel engineeringwerk moeten doen, maar hebben een betrouwbare en snelle back-upoplossing kunnen bouwen op DigitalOcean.

  3. Ondersteuning voor meerdere schijven en LVM-ondersteuning

    Momenteel kunt u slechts één schijf aan uw virtuele machine koppelen. Voor high-performance clusters willen we verschillende delen van de database (log, db, etc.) op verschillende schijven distribueren en zouden we graag de mogelijkheid zien om meerdere schijven te koppelen/loskoppelen. LVM wordt momenteel ook niet ondersteund, en het zou een geweldige toevoeging zijn omdat het erg handig is om snapshots van je systeem te maken.

  4. Dynamische schijfgrootte wijzigen

    Als je je huidige schijf volzet, heb je niet echt veel opties. U moet een nieuwe, grotere machine maken en uw gegevens migreren. Op de lange termijn is het van vitaal belang dat u de grootte van uw bestaande schijf kunt wijzigen in plaats van te moeten migreren naar een nieuwe machine wanneer uw schijf vol is.

Over het algemeen vinden we het systeem leuk en hopen we dat het lukt! We hopen dit jaar nog veel meer MongoDB-servers op DigitalOcean te implementeren en te beheren.

Raadpleeg onze DigitalOcean-pagina voor meer informatie over ons DigitalOcean-aanbod.

Zoals altijd, als je nog andere vragen hebt, neem dan contact met ons op via [email protected].


  1. Maak een verzameling in MongoDB

  2. Beperkingen van Hadoop, manieren om Hadoop-nadelen op te lossen

  3. Wat is de aanbevolen manier om indexen te laten vallen met Mongoose?

  4. Mongo $in operatorprestaties