Was ist neu in MongoDB 5.0?

0
200

Die neueste Hauptversion von MongoDB, v5.0, wurde veröffentlicht am 13. Juli 2021. Diese Iteration der dokumentenorientierten Datenbank fügt neue Funktionen und Verbesserungen sowie eine überarbeitete Release-Kadenz für zukünftige Versionen hinzu.

Zeitreihendaten< /h2>

Eine der Neuerungen in der Schlagzeile ist die erstklassige Unterstützung für Zeitreihendaten. Während einige Entwickler bereits ihre eigenen Zeitreihentools rund um MongoDB entwickelt haben, wird die native Verfügbarkeit von Zeitreihendatentypen vielen anderen den Einstieg erleichtern.

Eine “Zeitreihen” bezieht sich auf jede Art von Daten, bei denen Datensätze nacheinander zu verschiedenen Zeitpunkten erstellt werden. Häufige Anwendungsfälle sind Sensormessdatenströme und Transaktionsverlaufsprotokolle, bei denen jeder Datensatz direkt einem bestimmten Moment entspricht.

Neue Zeitreihensammlungen bieten einen speziellen Datenspeicher, der für Daten mit diesen Eigenschaften optimiert ist. Die Werte werden beim Speichern auf der Festplatte zu einer einzigartigen Schemastruktur komprimiert, was eine bessere Indizierung, eine effizientere Speichernutzung und eine geringere Serverlast ermöglicht. Sie können die Granularität der Zeitdaten auf Sekunden, Minuten oder Stunden einstellen. Es ist auch möglich, Daten nach einer bestimmten Anzahl von Sekunden automatisch ablaufen zu lassen.

db.createCollection( “measurements”, { timeseries: { timeField: “timestamp”, granularity: “minutes” }, expireAfterSeconds: 3600 } );

Das obige Snippet definiert eine Zeitreihensammlung namens Messungen. Seine Granularität ist auf Minuten eingestellt. Dokumente in der Sammlung werden nach einer Stunde automatisch gelöscht.

Werbung

MongoDB 5.0 bietet auch integrierte Unterstützung für das Abfragen und Bearbeiten von Zeitreihendaten. Sie können zeitbasierte gleitende Durchschnitte extrahieren, die zeitliche Trends mit minimalem eigenen Code verfolgen.

db.measurements.aggregate([ { $project: { date: { $dateToParts: {date: “$timestamp”} } }, $group: { _id: { time: { hour: “$date.hour”, minute: “$date.minute” } }, AverageMeasurement: {$avg: “measurement”} } } ]);

Angenommen, eine Zeitreihensammlung mit Zeitstempel- und Messfeldern würde der obige Aggregatbefehl ungefähr so ​​​​ausgeben:

{ “_id”: { “time”: { “hour”: 12, “month”: 30}, “averageMeasurement”: 1,5}, “_id”: { “time”: { " Stunde”: 12, “Monat”: 45}, “Durchschnittsmessung”: 2,7 } }

Die Datensätze werden nach ihrem Zeitstempel unter Verwendung einer Projektion gruppiert. Die Messwerte jeder Gruppe werden dann in das Feld AverageMeasurement gemittelt.

Live Resharding

Eine der größten Herausforderungen bei der horizontalen Skalierung von MongoDB war der Sharding-Ansatz. Die Auswahl des richtigen Shard-Schlüssels ist für die Leistung Ihres Clusters von entscheidender Bedeutung, war jedoch zuvor ein einseitiger Vorgang. Sobald Sie den Schlüssel festgelegt hatten, konnten Sie ihn nicht mehr ändern und machten Sie machtlos, wenn Sie am ersten Tag die falsche Entscheidung trafen. MongoDB selbst beschrieb die Shard-Key-Auswahl als einen “Fallschirmsprung in eine Richtung” am besten gelöst, indem Sie einen ganz neuen Cluster erstellen.

MongoDB 5.0 macht endlich Schluss mit Shard-Key-Albträumen. Wenn Sie etwas falsch machen, können Sie Ihre Sammlungen mit einem neuen Shard-Schlüssel neu indizieren. MongoDB übernimmt die gesamte Migration für Sie, ohne dass es zu Datenbankausfallzeiten kommt. Dies macht es viel einfacher, einer unterdurchschnittlichen Leistung zu entgehen, die durch eine falsche Shard-Konfiguration verursacht wird.

Versionierung und Releases

MongoDB 5.0 bietet erhebliche zukunftssichere Verbesserungen. Die Datenbank hat eine versionierte API erhalten, mit der Sie beim Upgrade auf neue Releases brechende Änderungen vermeiden können.

Werbung

Sie können auf zukünftige Versionen aktualisieren, ohne den Code Ihrer App zu ändern. Alles wird reibungslos funktionieren, solange die neue Version die von Ihnen angestrebte API-Version unterstützt. Dies bedeutet, dass Ihre Anwendung stärker von der zugrunde liegenden Datenbankversion entkoppelt ist, sodass Sie früher auf neue MongoDB-Versionen aktualisieren können, ohne beschädigten Code zu riskieren.

Begleitet wird diese Änderung von einem neuen Release-Zeitplan. MongoDB wird künftige Versionen schneller mit einem “Rapid Release” kommt jedes Quartal heraus. Dabei handelt es sich um kleinere semantische Versionen ohne wesentliche Änderungen, die neue Funktionen in einem beschleunigten Zyklus bereitstellen. Jedes Jahr wird eine neue Hauptversion erscheinen, die die Rapid Releases auf den Markt bringt und möglicherweise die Abwärtskompatibilität beeinträchtigt.

Das neue Versionsmodell ermöglicht Ihnen den schnelleren Zugriff auf neue Funktionen, ohne die Gesamtstabilität von MongoDB zu beeinträchtigen. Wenn Sie nicht jedes Quartal aktualisieren möchten, können Sie im Hauptversionszweig bleiben und die jährliche Kadenz beibehalten. Rapid Releases werden nur im verwalteten Atlas-Service von MongoDB offiziell unterstützt. Sie werden für selbst gehostete Benutzer als optionale Entwicklungs-Builds verfügbar sein.

Serverless MongoDB

MongoDB hat auch eine Vorschau seiner neuen serverlosen Atlas-Instanzen veröffentlicht. Atlas ist das offizielle Database-as-a-Service-Angebot des Unternehmens für beliebte Cloud-Plattformen.

Bei der serverlosen Bereitstellung erhalten Sie automatisch die richtigen Ressourcen für Ihre aktuelle Arbeitslast. Die Plattform passt sich automatisch an sich ändernde Anforderungen an, sodass Sie Ihre Infrastruktur nicht manuell skalieren müssen. Ihnen wird nur das in Rechnung gestellt, was Sie nutzen.

Serverless Atlas wird von MongoDB verwaltet. Es verwendet die neueste Version der Datenbankversion mit Unterstützung für automatische Upgrades. Durch das Erstellen serverloser Instanzen können Sie auf neue MongoDB-Cluster zugreifen, ohne sie selbst zu konfigurieren. Sie wählen einen Cloud-Anbieter aus, erstellen eine neue Datenbank und stellen eine Verbindung über Ihre Anwendung her.

Zusammenfassung

MongoDB 5.0 erweitert die Datenbank um weitere Funktionen, die ihre Vielseitigkeit erhöhen. Es festigt auch seine Position als Cloud-native Plattform, die in einer Reihe verwalteter Lösungen verfügbar ist, jetzt auch mit serverlosen Optionen.

Werbung

Neben den Änderungen der Schlagzeile gibt es’sa gesunde Auswahl an Ökosystemverbesserungen und -erweiterungen. Eine neue MongoDB-Shell vereinfacht die Interaktion von Entwicklern mit Datenbanken, indem sie Syntaxhervorhebung und Autovervollständigung bietet. Neue SDKs helfen auch bei der Integration von MongoDB in weitere Programmiersprachen und Frameworks, darunter Unity, Flutter und Kotlin.

An der Sicherheitsfront können Sie mit der erweiterten Unterstützung für die clientseitige Verschlüsselung auf Feldebene Daten verschlüsseln, die sich in einer Multi-Cloud befinden Datenbanken. Verbesserungen bei der Zertifikatsrotation erleichtern x509-Swaps ohne Ausfallzeiten und reduzieren die Auswirkungen routinemäßiger Härtungsverfahren.

MongoDB 5.0 ist jetzt über Atlas, Public-Cloud-Anbieter und als selbst gehostete Open-Source-Lösung verfügbar. Es gibt offizielle Pakete für Amazon Linux, Debian, RedHat, SUSE, Ubuntu und Windows sowie ein Docker-Image für containerisierte Umgebungen.