MongoDB 9.0 führt Ressourcenlimits ein, an denen bisherige Abfragen scheitern können
MongoDB 9.0 führt Schutzmaßnahmen gegen ressourcenintensive Datenbankoperationen ein. Genau diese Maßnahmen können jedoch dazu führen, dass bisher erfolgreiche Anfragen fehlschlagen. In einer am 9. Oktober 2026 von Percona veröffentlichten Einschätzung beschreibt Ivan Groenewold eine Version mit nützlichen Verbesserungen bei Leistung und Betrieb, statt einer grundlegenden Veränderung der Art und Weise, wie Teams die Datenbank betreiben. Seine zentrale Empfehlung lautet, die Änderungen zu testen und zu verstehen, bevor sie in produktiv genutzten Diensten eingesetzt werden.
Diese Unterscheidung ist auch über MongoDB hinaus wichtig: Ein Datenbank-Upgrade kann die Zuverlässigkeit insgesamt verbessern und gleichzeitig verändern, was einzelne Anwendungen tun dürfen. Trotz der Werbung rund um künstliche Intelligenz (KI) und Atlas, den verwalteten Datenbankdienst von MongoDB, wirkt die Version laut Groenewold eher wie eine schrittweise Weiterentwicklung auf 8.4 als wie ein großer Sprung auf 9.0.
Ressourcenlimits verändern das Verhalten von Anwendungen
Eine wichtige Neuerung ist ein Speicherlimit pro Operation, also eine Obergrenze für den Arbeitsspeicher, den eine einzelne Datenbankaufgabe beanspruchen darf. Standardmäßig beträgt sie 1 GB oder 20 % des verfügbaren Serverarbeitsspeichers, je nachdem, welcher Wert höher ist. Eine Operation, die diese Grenze überschreitet, kann fehlschlagen. Damit gibt es eine weitere Möglichkeit, eine Aggregation – eine Aufgabe, die gespeicherte Datensätze zusammenführt oder zusammenfasst – zu begrenzen, bevor ihr Speicherbedarf andere Arbeitslasten beeinträchtigt. Das bedeutet aber auch, dass eine Anfrage, die unter MongoDB 8.x erfolgreich abgeschlossen wurde, unter 9.0 möglicherweise nicht mehr abgeschlossen wird.
MongoDB 9.0 begrenzt außerdem die Zahl gleichzeitig offener Transaktionen über mehrere Dokumente standardmäßig auf 10.000. Diese Transaktionen fassen Änderungen an mehreren Datensätzen zu einer logischen Arbeitseinheit zusammen. Das Limit soll verhindern, dass eine Arbeitslast unbegrenzt Ressourcen verbraucht. Keine der beiden Schutzmaßnahmen macht Tests des Anwendungsverhaltens überflüssig: Den Server zu schützen und jede bestehende Anfrage erfolgreich abzuschließen, sind unterschiedliche Ergebnisse.
Leistungsversprechen müssen vor Ort überprüft werden
Die von Groenewold wiedergegebenen Benchmarks von MongoDB vergleichen 9.0 mit 8.0 und nennen bis zu 35 % schnellere findOne-Operationen, die einen Datensatz abrufen; 30 % schnellere updateOne-Operationen, die einen Datensatz ändern; einen um 20 % höheren Transaktionsdurchsatz, also mehr erledigte Transaktionsarbeit in einem bestimmten Zeitraum; sowie den doppelten Durchsatz auf großen Instanzen. Groenewold merkt an, dass aus den von ihm geprüften Unterlagen nicht klar hervorgeht, was mit „großen Instanzen“ gemeint ist.
Diese Zahlen stammen aus Messungen des Herstellers, nicht aus Tests von Percona oder dieser Publikation. Zum Zeitpunkt der Veröffentlichung erklärte Groenewold, er habe weder die Testmethodik noch die Rohdaten der Ergebnisse finden können. Die genannten Verbesserungen sollten daher nicht als Prognose für eine bestimmte Anwendung verstanden werden. Die Leistung hängt von Indizes ab, also Suchstrukturen zum Auffinden von Daten; von Dokumentgrößen, also der Größe einzelner Datenbankdatensätze; vom Working Set, also den aktiv verwendeten Daten; vom Speichersystem und von weiteren Merkmalen der Arbeitslast. Repräsentative Tests bleiben notwendig, bevor man davon ausgeht, dass ein produktiv genutzter Dienst um 35 % schneller wird.
Mehr Einblick in Schreibvorgänge und gezieltere Optimierung
Die neue Version erweitert $queryStats, die MongoDB-Funktion zur Bereitstellung von Statistiken zu Datenbankoperationen, über Lesevorgänge hinaus auf Einfüge-, Aktualisierungs- und Löschvorgänge. Das ist bei der Untersuchung eines stark ausgelasteten Servers wichtig, der seine Zeit überwiegend mit dem Ändern statt dem Abrufen von Daten verbringt. Teams erhalten Einblick in Lese- und Schreibvorgänge nach Abfragemuster, also nach der strukturellen Form einer Datenbankanfrage statt nach ihren konkreten Werten.
Bei Überwachungssoftware ist ein Kompatibilitätsaspekt zu beachten: Die Struktur und Serialisierung der Ausgabe von $queryStats haben sich in 9.0 geändert. Serialisierung beschreibt, wie Informationen für die Übertragung oder Verarbeitung dargestellt werden. Jedes Werkzeug, das diese Statistiken verarbeitet, muss vor einem Upgrade überprüft werden. Man sollte nicht einfach davon ausgehen, dass es die Ausgabe weiterhin korrekt interpretiert.
MongoDB 9.0 erweitert außerdem querySettings, die Steuerungsmöglichkeiten für die Verarbeitung bestimmter Anfragemuster, und fügt Optionen pro Abfrage hinzu. Durch gezieltere Optimierung lässt sich vermeiden, eine serverweite Einstellung wegen einer einzelnen problematischen Anfrage ändern zu müssen. Auf gemeinsam genutzter Infrastruktur ist diese Unterscheidung hilfreich, weil eine globale Anpassung, die einer Arbeitslast nützt, einer anderen schaden kann.
Verbesserte Suche in verschlüsselten Daten, aber Einschränkungen bei der Migration
Queryable Encryption, eine Funktion zur Suche in verschlüsselten Daten, erhält allgemein verfügbare Präfix-, Suffix- und Teilzeichenfolgenabfragen für verschlüsselte Zeichenfolgen. Anwendungen können am Anfang, am Ende oder innerhalb eines verschlüsselten Textwerts nach Text suchen. Dadurch wird die Funktion für Anwendungen nützlicher, die geschützte und zugleich durchsuchbare Daten benötigen.
Die Implementierung in 9.0 ist jedoch nicht mit der Implementierung der Queryable Encryption Public Preview in MongoDB 8.2 und 8.3 kompatibel. Groenewold weist außerdem darauf hin, dass Automatic Encryption, eine Funktion zur Verschlüsselung, bei der der Anwendungscode nicht jeden Verschlüsselungsschritt ausdrücklich ausführen muss, weiterhin nicht in der Community Edition enthalten ist. Er sieht diese Beschränkung auf bestimmte Editionen als Hindernis für die Einführung. Teams sollten sowohl die Kompatibilität als auch die Verfügbarkeit in ihrer Edition prüfen, statt die Suche in verschlüsselten Daten als unkomplizierten Ersatz für ihre bestehende Implementierung anzusehen.
Weniger offensichtliche Änderungen müssen gezielt getestet werden
Groenewold hebt Verhaltensänderungen bei Vergleichen von Punktpfaden mit null hervor, also bei Prüfungen verschachtelter Felder gegen einen null-Wert; ebenso bei der Datumsverarbeitung in serverseitigem JavaScript, also Code, der innerhalb der Datenbank ausgeführt wird; sowie bei Change Streams während Wahlen. Change Streams benachrichtigen Anwendungen über Datenänderungen, während bei einer Wahl festgelegt wird, welches Datenbankmitglied die primäre Rolle übernimmt. Anwendungen mit eigenen Change-Stream-Empfängern, also Software zum Empfang dieser Benachrichtigungen, sollten während dieses Übergangs getestet werden.
Weitere betroffene Bereiche sind datenbankübergreifendes renameCollection, der Befehl zum Verschieben einer Sammlung von Datensätzen zwischen Datenbanken, und die BSON-Validierung, also Prüfungen des von MongoDB verwendeten Dokumentformats Binary JSON. Anwendungen mit datenbankseitigem JavaScript müssen auf ihre Datumsverarbeitung geprüft werden. Anwendungen, die Dokumente mit unterschiedlichen Strukturen speichern, sollten null-Vergleiche anhand realistischer Daten testen. Die Quelle nennt diese Bereiche als von Verhaltensänderungen betroffen, ohne jede neue Regel im Detail zu erläutern. Die genauen Auswirkungen müssen daher anhand der jeweiligen Anwendung überprüft werden.
Laut Percona haben die Arbeiten an Percona Server for MongoDB 9.0, kurz PSMDB, bereits begonnen; weitere Informationen sollen später folgen. Groenewold betont, dass PSMDB auch LDAP-Authentifizierung bietet, also Identitätsprüfungen über ein Verzeichnis mithilfe des Lightweight Directory Access Protocol; Audit-Protokollierung, also Aufzeichnungen über Datenbankaktivitäten; Hot Backup, also Sicherungen bei laufender Datenbank; sowie Verschlüsselung ruhender Daten zum Schutz gespeicherter Informationen. Laut Percona stehen diese Funktionen ohne eine Lizenz für die Enterprise Edition oder die mit MongoDB Enterprise verbundenen zusätzlichen Lizenzkosten zur Verfügung.
Für Organisationen, die Unterstützung beim Betrieb suchen, sind die verwalteten Datenbanken, Datensicherungen und Überwachungsdienste von AEU Data hilfreich, um Datenbankdienste geschützt und zuverlässig zu halten. Sie ersetzen jedoch keine anwendungsspezifischen Tests vor einem Upgrade.