MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Der beste Weg, MongoDB auf DigitalOcean zu hosten

MongoDB ist weltweit die Nr. 3 unter den Open-Source-Datenbanken und die Nr. 1 unter den NoSQL-Datenbanken. Es handelt sich um eine plattformübergreifende, dokumentenorientierte Datenbank, die JSON-ähnliche Dokumente mit Schema verwendet und von Startup-Apps bis hin zu Unternehmen auf Unternehmensebene, die moderne Apps entwickeln, umfassend genutzt wird. Während Sie davon ausgehen können, dass eine große Mehrheit der Bereitstellungen von Cloud-Datenbanken auf AWS, Azure oder Google Cloud Platform ausgeführt wird, tendieren insbesondere kleine und mittlere Unternehmen zum entwicklerfreundlichen Cloud-Anbieter DigitalOcean für ihr Hosting für MongoDB® braucht. In diesem Beitrag führen wir Sie durch den besten Weg, MongoDB auf DigitalOcean zu hosten, einschließlich der besten zu verwendenden Instance-Typen, Festplattentypen, Replikationsstrategien und Anbieter verwalteter Dienste.

DigitalOcean-Vorteile für MongoDB

Was macht DigitalOcean also zu einer überzeugenden Alternative zu anderen beliebten MongoDB-Hosting-Anbietern wie AWS und Azure? Wie oben erwähnt, ist DigitalOcean mit seiner einfachen und leicht verständlichen Plattform sehr entwicklerfreundlich – Sie müssen sich nicht über diesen Cloud-Anbieter zertifizieren lassen, um Ihre Bereitstellung mit Zuversicht zum Laufen zu bringen. Sie bieten SSD-basiertes Cloud-Hosting mit unkomplizierten Preisen ab nur 5 $/Monat an, was es ideal (und erschwinglich) für Entwickler macht, ihre neuen Anwendungen nahtlos in der Cloud zu erstellen, zu testen und bereitzustellen. Das Beeindruckendste ist, dass Sie die Leistung nicht aus Kostengründen kompromittieren. Wir haben Leistungstests für MongoDB auf DigitalOcean im Vergleich zu AWS im Vergleich zu Azure durchgeführt und festgestellt, dass die Leistung von DigitalOcean sowohl bei hohem Durchsatz als auch bei niedriger Latenz bei der Bereitstellung vergleichbar, wenn nicht sogar besser war.

DigitalOcean-Tröpfchen

DigitalOcean hat sich auf SSD-basierte virtuelle Maschinen namens Droplets spezialisiert, die in vier einfache Kategorien unterteilt sind. Das grundlegendste Droplet ist die Standardinstanz, die eine gemeinsam genutzte CPU ab nur 5 $/Monat verwendet. Obwohl es für Anwendungen mit geringem Datenverkehr, kleine Datenbanken und Entwicklungs-/Testumgebungen geeignet ist, raten wir davon ab, gemeinsam genutzte Cluster für Ihre MongoDB-Produktionsbereitstellungen zu nutzen. Sie bieten auch ein dediziertes CPU-optimiertes Droplet, das für CPU-intensive Workloads ausreicht, aber wenig Arbeitsspeicher bieten, was für MongoDB-Hosting nicht ideal ist.

Wenn Sie eine mittelgroße MongoDB-Workload bereitstellen, empfehlen wir ihr beliebtestes Allzweck-Droplet, das eine dedizierte Instanz ist, die 4 GB Arbeitsspeicher für jede vCPU bietet. Dies ist in der Regel mehr als ausreichend für Produktionsbereitstellungen und Anwendungen mit hohem Datenverkehr und beginnt bei 60 $/Monat für 8 GB Arbeitsspeicher, 2 vCPUs, 4 TB Übertragung und 25 GB SSD-Speicherplatz. DigitalOcean hat vor kurzem auch seine speicheroptimierten Droplets auf den Markt gebracht, bei denen es sich um dedizierte Instanzen handelt, die für RAM-intensive Anwendungen und Hochleistungsdatenbanken entwickelt wurden, was es zu einer attraktiven Lösung für MongoDB-Anwendungen mit hoher Arbeitslast macht.

Sie können MongoDB auf DigitalOcean in 12 Rechenzentrumsregionen auf der ganzen Welt bereitstellen, darunter die Vereinigten Staaten (New York City und San Francisco), Kanada, die Niederlande, Singapur und das Vereinigte Königreich , Deutschland und Indien.

DigitalOcean-Festplattentypen

Einer der Gründe, warum MongoDB auf DigitalOcean so gut abschneidet, sind die SSD-Festplatten, die sich ideal für Cloud-Datenbankbereitstellungen eignen. Sie bieten einen hohen Durchsatz, der erhebliche Vorteile beim Ausführen eines Indexes in Ihrer Datenbank oder beim Reparieren eines Computers bietet, wodurch Sie gegenüber einer standardmäßigen MongoDB-Bereitstellung auf AWS erheblich Zeit sparen. Sie bieten sogar eine erstaunlich niedrige Latenz von Amazon AWS US-East zum Rechenzentrum von DigitalOcean New York, was sich hervorragend für Anwendungen eignet, die ihre Front auf Mid-Tier auf AWS ausführen, aber DigitalOcean für ihre MongoDB-Cluster verwenden möchten.

MongoDB-Replikationsstrategien

Wenn Sie MongoDB auf DigitalOcean in der Produktion ausführen, empfiehlt es sich, die Bereitstellung mit einem Replikatsatz durchzuführen, um eine hohe Verfügbarkeit und Datenredundanz für Ihre Cluster sicherzustellen. DigitalOcean bietet zusammen mit AWS und Azure eine SLA für eine Betriebszeit von 99,99 %, aber obwohl das nahezu perfekt klingt, entsprechen diese 0,01 % 52,6 Minuten Ausfallzeit in einem Jahr. Das ist fast eine Stunde, in der Ihre Datenbank für Ihre Kunden, Besucher und Mitarbeiter unzugänglich wird, was sich erheblich auf Ihre Kundenbindung und Ihren Markenruf auswirken kann.

MongoDB-Replikatsätze

Glücklicherweise können Sie das Risiko eines Ausfalls Ihrer Bereitstellung durch den Verlust eines Rechenzentrums stark mindern, indem Sie einen geografisch verteilten 3-Knoten-Repliksatz für MongoDB auf DigitalOcean einrichten. Es gibt ein paar Optionen zum Einrichten dieser Konfiguration, die erste ist ein Primary-Secondary-Arbiter-Setup, das zwei datentragende Knoten und einen Arbiter bereitstellt, der als abstimmendes Mitglied fungiert, um zu bestimmen, welches Replikat übernehmen soll, falls eines nicht verfügbar ist . Dies ist die kostengünstigste Option, da der Arbiter keine Daten speichert und die Bereitstellung weniger kostet, aber auch 1 Knoten weniger bietet, der bei einem Failover-Ereignis übernehmen kann. Die optimale Replikationsstrategie wäre ein Primär-Sekundär-Sekundär-Setup, das 3 datentragende Knoten nutzt und Ihnen ein Failover auf 2 separate Rechenzentren ermöglicht, falls Ihre primäre Region ausfällt.

Der beste Weg, #MongoDB auf DigitalOcean zu hostenClick To Tweet

MongoDB-Sharding

MongoDB-Sharding ist eine fortschrittliche Form der Bereitstellung, mit der Sie Ihre Daten horizontal über mehrere Computer skalieren können. Dies ist eine sehr komplexe Konfiguration zum Einrichten und Verwalten, da jeder Shard mehrere Replikatsätze enthält und für Hochverfügbarkeit auf verschiedene Rechenzentrumsstandorte verteilt werden kann. Sharding ist ideal für sehr große Datasets oder Bereitstellungen mit hohem Durchsatz, die mehr Kapazität erfordern, als Sie mit einem einzelnen Server erreichen können. Während die typische Bereitstellung vertikal skaliert wird, indem einem Server bei Bedarf mehr Kapazität hinzugefügt wird, ermöglicht Sharding Ihnen eine horizontale Skalierung, indem Sie Ihre Daten und Lasten auf mehrere Computer aufteilen. Sobald Sie Ihre Sharding-Umgebung eingerichtet haben, können Sie nach Bedarf weitere Shards hinzufügen, um das Wachstum Ihrer Anwendung zu unterstützen.

Bei ScaleGrid bieten wir Standalone, 2 Replicas + Arbiter, 3 Replicas und erweiterte Sharding-Konfigurationen zum Hosten von MongoDB auf DigitalOcean im Rahmen unseres Dedicated Hosting-Plans an, beginnend mit einer Micro-Plangröße bei 35 $/ Monat bis zu einem X4XLarge-Plan mit 16 Kernen, 48 GB RAM und 950 GB Speicher. Sie können Ihren MongoDB-Replikatsatz auch mit einer unbegrenzten Anzahl von Replikaten für Ihre Anwendungsanforderungen anpassen.

Verwaltetes MongoDB-Hosting auf DigitalOcean

Nun kommen wir zur ultimativen Frage – sollten Sie Ihre MongoDB auf DigitalOcean-Bereitstellungen selbst verwalten oder eine vollständig verwaltete Database-as-a-Service (DBaaS)-Plattform nutzen? Die Antwort läuft auf Ihre Zeit, Ihr Wissen und Ihre ständige Erreichbarkeit hinaus, um alle kritischen Probleme zu lösen, die bei Ihrer Bereitstellung auftreten.

Verwaltungs- und Wartungsaufgaben

MongoDB DBaaS-Plattformen ermöglichen Ihnen die Automatisierung all Ihrer zeitaufwändigen Verwaltungs- und Wartungsvorgänge wie Versions-Upgrades, Skalierung, kostenlose Backups, Wiederherstellungen, Bereitstellung, Deprovisionierung, Replikation, Komprimierung, Indizierung Verwaltung, OS-Patching und Protokollrotationen. Abhängig von der Größe Ihrer Bereitstellung kann dies 1-2 Tage pro Monat dauern, bis zu einer Vollzeitarmee von MongoDB-Experten, die rund um die Uhr arbeiten. Ein großer Vorteil der Nutzung einer DBaaS-Plattform besteht darin, dass Sie das Risiko menschlicher Fehler eliminieren, da die Verwaltungsvorgänge für Sie automatisiert werden. Es hält auch Ihre MongoDB-Cluster auf DigitalOcean vollständig sicher und auf dem neuesten Stand, sodass Sie Ihre Bereitstellungen nicht potenziellen Fehlern oder Bedrohungen aussetzen, die bei einer vernachlässigten Datenbank auftreten können.

Leistungsüberwachung

Überwachung ist auch eine wichtige Komponente bei der Verwaltung einer MongoDB-Bereitstellung. Mit einer DBaaS-Plattform können Sie Warnungen zu all Ihren wichtigen MongoDB-Metriken automatisieren, sodass Sie informiert werden, sobald ein unerwünschter Schwellenwert erreicht wird, und auf eine erweiterte Überwachungskonsole zugreifen, um alle Ihre MongoDB- und OS-Metriken in Ihren primären und sekundären Instanzen zu analysieren und über einen beliebigen Zeitraum. Darüber hinaus können Sie mit einem DBaaS wie ScaleGrid den Slow Query Analyzer nutzen, mit dem Sie langsam ausgeführte Abfragen visualisieren und optimieren können, bevor sie Ihre Bereitstellungsleistung beeinträchtigen.

Unterstützung bei der Fehlerbehebung

Last, but not least, ist die Zugänglichkeit zum Support. Wenn Sie um 4:00 Uhr morgens von einem hektischen Anruf Ihres Chefs geweckt wurden und sich fragen, warum Ihre Bewerbung nicht funktioniert und wie schnell Sie sie wiederbekommen können, wissen Sie genau, wovon ich spreche. Jede Minute Ausfallzeit kann Ihnen Tausende von Dollar an Geschäften einbringen, und noch viel schlimmer, eine Sicherheitsverletzung könnte Ihr Unternehmen vollständig zum Erliegen bringen und Ihrem Ruf einen dauerhaften Schaden zufügen. Durch die Nutzung einer DBaaS-Plattform können Sie über 90 % dieser kritischen Probleme umgehen und haben rund um die Uhr ein Team von MongoDB-Experten für die unvermeidlichen 10 % an Ihrer Seite, um Ihnen zu helfen, die Probleme schnell zu identifizieren und zu lösen, um Ihre Bereitstellung zu erhalten zurück in einen gesunden, betriebsbereiten Zustand.

Bei ScaleGrid identifizierten wir DigitalOcean bereits 2013 als einen aufstrebenden Rockstar für das Hosting von MongoDB und Cloud Computing im Allgemeinen und waren das erste DBaaS Plattform, um Unterstützung für MongoDB DigitalOcean zu starten. Noch heute sind wir die einzige vollständig verwaltete DBaaS-Plattform, mit der Sie Ihr Hosting für MongoDB auf DigitalOcean automatisieren und Datenbankverwaltungstools der Enterprise-Klasse nutzen können, um Ihre Bereitstellungsleistung, Sicherheit und Verfügbarkeit in der Cloud zu optimieren. Wenn Sie daran interessiert sind, einige der erweiterten Funktionen von DBaaS für MongoDB auf DigitalOcean auszuprobieren, können Sie eine kostenlose 30-Tage-Testversion ohne Kreditkarte starten, um die Automatisierungstools zu erkunden, und sich die Seite „MongoDB-Anbieter vergleichen“ ansehen sehen Sie, wie wir im Vergleich zu MongoDB Atlas, mLab, ObjectRocket und Compose for MongoDB abschneiden.