MongoDB is de #3 open source database en de #1 NoSQL-database ter wereld. Het is een platformonafhankelijke documentgeoriënteerde database die JSON-achtige documenten met schema gebruikt en die breed wordt ingezet in startup-apps tot bedrijven op ondernemingsniveau die moderne apps ontwikkelen. Hoewel u mag aannemen dat een grote meerderheid van de clouddatabase-implementaties wordt uitgevoerd op AWS, Azure of Google Cloud Platform, neigen vooral kleine tot middelgrote bedrijven naar de ontwikkelaarvriendelijke cloudprovider, DigitalOcean, voor hun hosting voor MongoDB® behoeften. In dit bericht zullen we u door de beste manier leiden om MongoDB op DigitalOcean te hosten, inclusief de beste instantietypen om te gebruiken, schijftypen, replicatiestrategie en beheerde serviceproviders.
DigitalOcean-voordelen voor MongoDB
Wat maakt DigitalOcean tot een aantrekkelijk alternatief voor andere populaire MongoDB-hostingproviders zoals AWS en Azure? Zoals hierboven vermeld, is DigitalOcean zeer ontwikkelaarsvriendelijk met zijn eenvoudige en gemakkelijk te begrijpen platform - u hoeft niet gecertificeerd te worden via deze cloudprovider om uw implementatie met vertrouwen aan de gang te krijgen. Ze bieden op SSD gebaseerde cloudhosting met duidelijke prijzen vanaf slechts $ 5 per maand, wat het ideaal (en betaalbaar) maakt voor ontwikkelaars om hun nieuwe applicaties naadloos in de cloud te bouwen, testen en implementeren. Wat het meest indrukwekkend is, is dat u geen concessies doet aan de prestaties voor de kosten. We hebben prestatietests uitgevoerd voor MongoDB op DigitalOcean versus AWS versus Azure en ontdekten dat de prestaties van DigitalOcean in lijn waren met, zo niet beter, op zowel hoge doorvoer als lage latentie in de implementatie.
DigitalOcean Droplets
DigitalOcean is gespecialiseerd in op SSD gebaseerde virtuele machines genaamd Droplets die zijn onderverdeeld in vier eenvoudige categorieën. De meest elementaire Droplet is hun Standard-instantie die een gedeelde CPU gebruikt vanaf slechts $ 5 per maand. Hoewel dit geschikt is voor toepassingen met weinig verkeer, kleine databases en ontwikkel-/testomgevingen, raden we aan om geen gebruik te maken van gedeelde clusters voor uw MongoDB-productie-implementaties. Ze bieden ook een speciale CPU-geoptimaliseerde druppel die voldoende is voor CPU-intensieve workloads, maar weinig geheugen biedt, wat niet ideaal is voor MongoDB-hosting.
Als je een middelgrote MongoDB-workload implementeert, raden we hun meest populaire General Purpose Droplet aan, een speciale instantie die 4 GB geheugen biedt voor elke vCPU. Dit is doorgaans meer dan voldoende voor productie-implementaties en toepassingen met veel verkeer, en begint bij $ 60/maand voor 8 GB geheugen, 2 vCPU's, 4 TB overdracht en 25 GB SSD-schijfruimte. DigitalOcean heeft onlangs ook hun Memory-Optimized Droplets gelanceerd. Dit zijn speciale instanties die zijn ontworpen voor RAM-intensieve applicaties en goed presterende databases, waardoor het een aantrekkelijke oplossing is voor zware MongoDB-applicaties.
U kunt MongoDB op DigitalOcean implementeren in 12 datacenterregio's over de hele wereld, waaronder de Verenigde Staten (New York City en San Francisco), Canada, Nederland, Singapore, het Verenigd Koninkrijk , Duitsland en India.
DigitalOcean-schijftypen
Een van de redenen waarom MongoDB zo goed presteert op DigitalOcean is vanwege hun SSD-schijven, die ideaal zijn voor clouddatabase-implementaties. Ze bieden een geweldige doorvoer die aanzienlijke voordelen biedt voor het uitvoeren van een index op uw database of het repareren van een machine, waardoor u een aanzienlijke hoeveelheid tijd bespaart ten opzichte van een standaard MongoDB-implementatie op AWS. Ze bieden zelfs een verbazingwekkend lage latentie van Amazon AWS US-East tot het DigitalOcean New York-datacenter, wat geweldig is voor applicaties die hun front op mid-tier op AWS draaien, maar DigitalOcean willen gebruiken voor hun MongoDB-clusters.
MongoDB-replicatiestrategieën
Als u MongoDB op DigitalOcean in productie gebruikt, kunt u het beste een replicaset gebruiken om een hoge beschikbaarheid en gegevensredundantie voor uw clusters te garanderen. DigitalOcean biedt, samen met AWS en Azure, een uptime-SLA van 99,99%, maar hoewel dat bijna perfect klinkt, komt die 0,01% neer op 52,6 minuten downtime in één jaar. Dat is bijna een uur waarin uw database ontoegankelijk wordt voor uw klanten, bezoekers en werknemers, wat een aanzienlijke impact kan hebben op uw klantenbehoud en merkreputatie.
MongoDB-replicasets
Gelukkig kunt u het risico dat uw implementatie uitvalt door verlies van een datacenter sterk verkleinen door een geografisch gedistribueerde replicaset met 3 knooppunten voor MongoDB op DigitalOcean in te stellen. Er zijn een aantal opties om deze configuratie in te stellen, de eerste is een Primary-Secondary-Arbiter-configuratie die 2 gegevensdragende knooppunten biedt en een arbiter die optreedt als stemmend lid om te bepalen welke replica het moet overnemen in het geval dat er een niet beschikbaar is . Dit is de meest betaalbare optie omdat de arbiter geen gegevens heeft en minder kost om te implementeren, maar ook 1 node minder biedt die het kan overnemen in een failover-gebeurtenis. De optimale replicatiestrategie zou een Primary-Secondary-Secondary-configuratie zijn die gebruikmaakt van 3 gegevensdragende knooppunten en waarmee u een failover kunt uitvoeren naar 2 afzonderlijke datacenters in het geval dat uw primaire regio uitvalt.
De beste manier om #MongoDB te hosten op DigitalOceanClick To TweetMongoDB Sharding
MongoDB-sharding is een geavanceerde vorm van implementatie waarmee u uw gegevens horizontaal kunt uitschalen over meerdere machines. Dit is een zeer complexe configuratie om in te stellen en te beheren, aangezien elke shard meerdere replicasets bevat en kan worden gedistribueerd over verschillende datacenterlocaties voor hoge beschikbaarheid. Sharding is ideaal voor zeer grote datasets of implementaties met een hoge doorvoer waarvoor meer capaciteit nodig is dan met één server. Waar de typische implementatie verticaal schaalt door indien nodig meer capaciteit aan een server toe te voegen, kunt u met sharding horizontaal schalen door uw gegevens en belasting over meerdere machines te verdelen. Zodra u uw shard-omgeving heeft ingesteld, kunt u indien nodig meer shards toevoegen om de groei van uw toepassing te ondersteunen.
Bij ScaleGrid bieden we standalone, 2 replica's + arbiter, 3 replica's en geavanceerde Sharding-configuraties voor het hosten van MongoDB op DigitalOcean onder ons Dedicated Hosting-abonnement, beginnend met een Micro-abonnement voor $ 35/ maand tot een X4XLarge abonnement met 16 cores, 48GB RAM en 950GB opslagruimte. U kunt uw MongoDB-replicaset ook aanpassen met een onbeperkt aantal replica's voor uw toepassingsbehoeften.
Beheerde MongoDB-hosting op DigitalOcean
Nu komen we bij de ultieme vraag:moet u uw MongoDB zelf beheren op DigitalOcean-implementaties of een volledig beheerd Database-as-a-Service (DBaaS)-platform gebruiken? Het antwoord komt neer op uw tijd, kennis en altijd beschikbare toegankelijkheid om kritieke problemen op te lossen die zich voordoen bij uw implementatie.
Beheer- en onderhoudstaken
Met MongoDB DBaaS-platforms kunt u al uw tijdrovende beheer- en onderhoudsactiviteiten automatiseren, zoals versie-upgrades, schaling, gratis back-ups, herstel, provisioning, deprovisioning, replicatie, comprimeren, indexeren beheer, OS-patching en logrotaties. Afhankelijk van de grootte van uw implementatie, kan dit 1-2 dagen per maand duren, tot een fulltime leger van MongoDB-experts die de klok rond werken. Een groot voordeel van het gebruik van een DBaaS-platform is dat u het risico op menselijke fouten elimineert, aangezien de beheeractiviteiten voor u worden geautomatiseerd. Het houdt ook uw MongoDB-clusters op DigitalOcean volledig beveiligd en up-to-date, zodat u uw implementaties niet blootstelt aan mogelijke bugs of bedreigingen die zich kunnen voordoen bij een verwaarloosde database.
Prestaties monitoren
Monitoring is ook een belangrijk onderdeel van het beheer van een MongoDB-implementatie. Met een DBaaS-platform kunt u waarschuwingen voor al uw belangrijke MongoDB-statistieken automatiseren, zodat u op de hoogte bent zodra een ongewenste drempel wordt bereikt, en toegang krijgt tot een geavanceerde monitoringconsole om al uw MongoDB- en OS-statistieken voor uw primaire en secundaire instanties te analyseren en over eender welke periode. Bovendien kunt u met een DBaaS zoals ScaleGrid gebruikmaken van de Slow Query Analyzer waarmee u langzaam lopende query's kunt visualiseren en optimaliseren voordat ze uw implementatieprestaties gaan beïnvloeden.
Ondersteuning voor probleemoplossing
Last, but absoluut not least, is de toegankelijkheid van ondersteuning. Als je om 04:00 uur wakker bent geworden door een paniekerig telefoontje van je baas die zich afvraagt waarom je applicatie niet beschikbaar is en hoe snel je hem weer kunt activeren, dan weet je precies waar ik het over heb. Elke minuut downtime kan u duizenden dollars aan omzet opleveren, en nog erger, een beveiligingsinbreuk kan uw bedrijf volledig stilleggen en een blijvende smet op uw reputatie leggen. Door gebruik te maken van een DBaaS-platform, kunt u meer dan 90% van deze kritieke problemen het hoofd bieden en een team van MongoDB-experts 24/7 aan uw zijde hebben voor de onvermijdelijke 10% om u te helpen de problemen snel te identificeren en op te lossen om uw implementatie te krijgen terug naar een gezonde, actieve staat.
Bij ScaleGrid identificeerden we DigitalOcean als een opkomende rockstar voor het hosten van MongoDB en cloud computing in het algemeen in 2013, en waren de eerste DBaaS platform om ondersteuning voor MongoDB DigitalOcean te lanceren. Tot op de dag van vandaag zijn we het enige volledig beheerde DBaaS-platform waarmee u uw hosting voor MongoDB op DigitalOcean kunt automatiseren en gebruik kunt maken van databasebeheertools op ondernemingsniveau om uw implementatieprestaties, beveiliging en beschikbaarheid in de cloud te optimaliseren. Als je geïnteresseerd bent in het uitproberen van enkele van de geavanceerde mogelijkheden van een DBaaS voor MongoDB op DigitalOcean, kun je een gratis proefperiode van 30 dagen starten zonder dat je een creditcard nodig hebt om de automatiseringstools te verkennen, en bekijk de pagina MongoDB-providers vergelijken om kijk hoe we het doen ten opzichte van MongoDB Atlas, mLab, ObjectRocket en Compose for MongoDB.