Was gefällt Ihnen nicht? MongoDB Atlas?
Meine Geschichte mit Mongo begann, als ich eine neue Softwareposition antrat und sie eine Legacy-Version ihres Softwareprodukts mit Atlas verwendeten.
Im Vergleich zu unseren anderen Infrastrukturrechnungen war Mongo für die Menge an Rechenleistung und Speicher, die wir nutzten, deutlich höher ($3K pro Monat). Dies ist ein verwalteter Dienst, daher erwartet man, einen Aufpreis zu zahlen. Okay, sicher, aber dann erwarte ich großartige Funktionalität, Leistung und Unterstützung.
Das Hauptproblem begann mit Mongo, als wir einige Daten löschen mussten, weil sie die CPU- und Speicherkapazitäten an die Speichergröße binden, sodass wir überbezahlt haben. Unsere Anwendung würde problemlos auf einem M10 dedizierten Cluster (der kleinsten Stufe) laufen, aber sie war aufgrund des Speichers automatisch auf ein M50 skaliert. Das ist schon etwas enttäuschend, weil sie die Kunden zwingen, für mehr Rechenleistung und Speicher zu zahlen, als sie benötigen.
Also begannen wir, einige Daten zu löschen, aber dann stießen wir auf Probleme. Der Datenlöschprozess war wirklich langsam und verlangsamte auch unseren gesamten Cluster, was zu Verzögerungen und Leistungsproblemen für unsere Endbenutzer führte. Aber Moment mal, das macht keinen Sinn, weil wir für mehr CPU und RAM zahlen, als wir brauchen, also warum sollten wir dieses Problem haben?
Es dauerte drei Monate, um 500 GB Daten zu löschen. In der Zwischenzeit blieb unsere Rechnung gleich, weil man den Platz nicht zurückfordern kann, ohne die Datenbank zu komprimieren. Okay, gut. Also führten wir compact() aus, aber wir befreiten nur ~100 GB auf den sekundären Clustern.
Der Support gab uns ein Skript, das zeigt, wie viel Speicherplatz freigegeben werden kann.
Am Ende mussten wir einen teuren zusätzlichen Supportplan aktivieren, der uns 500 USD pro Monat kostete, um den Support zu erhalten, um einen Re-Sync-Befehl auszuführen. Das hätte ihre Support-Mitarbeiter 10 Minuten kosten sollen, aber stattdessen zogen sie uns hin und her mit dem Ticket, was drei Wochen dauerte, um es zu lösen.
Ein Jahr später mussten wir einige weitere Daten löschen. Wir verbrachten weitere fünf Monate damit, 800 GB Daten zu löschen. Dann führten wir compact() aus und befreiten 300 GB. Wo sind unsere anderen 500 GB? Wir kontaktierten einige Menschen bei Mongo, die nicht viel tun konnten, außer vorzuschlagen, dass wir Mittel beschaffen, um den $500 Support für einen Monat zu decken. Ja, wir bekamen den $500 Kredit, aber als ich den Support reaktivieren wollte, sollte es uns für drei Monate für einen Monat berechnen, weil Mongo rückwirkend für drei Monate berechnet, wenn man reaktiviert. Wow, wir begannen an einem schlechten Ort, jetzt bin ich mehr als frustriert; das ist Tageslicht-Raub.
Bis heute kämpfe ich immer noch darum, etwas Speicherplatz zurückzugewinnen, aber an diesem Punkt werde ich unserem CEO empfehlen, dass unser Entwicklerteam etwas Aufwand betreibt, um sich vollständig von Mongo zu entfernen.
Ich muss auch erwähnen, dass Mongo uns empfohlen hat, ihre Online-Archivierungsfunktionen zu nutzen, aber als wir die Zahlen durchgingen, war es immer noch ziemlich teuer, und wir müssten erhebliche Arbeit leisten, um unsere Anwendung zwischen den regulären Clustern und dem Online-Archiv zum Laufen zu bringen. Also war es deutlich logischer, die Daten in AWS S3 zu speichern und sie dann in Mongo zu löschen.
Wenn ich meine Erfahrung mit Mongo zusammenfassen kann, und ich erkenne an, dass meine wahrscheinlich ziemlich anders ist als die meisten, hier ist sie:
Überteuert für die Leistung, die man bekommt
Heimliches Abrechnungsmodell, bei dem CPU und Speicher an den Speicher gebunden sind
Schlechter und teurer Support
Heimliche Zusatzgebühren bei der Reaktivierung des Supports
Schlechte Eskalationslösungen im Support - sie konnten nicht einfach kostenlosen 'Support' aktivieren
Schlechte Datenbankleistung
Langsame Löschvorgänge
Ecosystem-Lock-in
Erzwungene Upgrades - keine LTS-Versionen
Lassen Sie mich es so zusammenfassen: Wenn Ihr compact()-Befehl den auf Ihrem Cluster verfügbaren Speicherplatz nicht freigibt, dann bieten Sie dem Kunden kostenlosen Support, um dies zu tun.
Ich hasse es, mit Mongo umzugehen. Nichts ist einfach, alles ist teuer, und die Leistung ist schlecht.
Wenn Sie in Erwägung ziehen, Mongo zu verwenden, suchen Sie sich etwas anderes. Selbst wenn Sie ein wenig mehr Zeit investieren müssen, um AWS Dynamo, S3 oder Aurora zu lernen, sollten Sie es tun; Sie werden auf lange Sicht Zeit und Geld sparen.
Mongo, Sie verdienen diese negative Bewertung. Ich habe Ihnen viele Gelegenheiten gegeben, Dinge zu lösen und Probleme zu eskalieren, aber es ist Ihnen einfach egal.
Wir wollten uns schon vorher von Mongo entfernen; jetzt kann ich es nicht schnell genug loswerden. Bewertung gesammelt von und auf G2.com gehostet.