MongoDB
21.02.2024, 12:19 Uhr
Stream Processing für reaktive, ereignisgesteuerte Anwendungen
Atlas Stream Processing ist auf MongoDB Atlas für Entwickler ab sofort als Preview verfügbar. Es bietet unter anderem ein neues VS-Code-Plug-in und DLQ-Funktionen.
MongoDB hat angekündigt, dass Atlas Stream Processing Entwicklern auf MongoDB Atlas ab sofort als Preview zur Verfügung steht. Atlas Stream Processing erweitert die Entwicklerdatenplattform um eine Stream-Processing-Lösung, welche die Komplexität der Entwicklung reaktiver und ereignisgesteuerter Anwendungen vereinfachen soll.
Atlas Stream Processing definiert das Aggregieren und Anreichern von Datenströmen mit hoher Geschwindigkeit und sich schnell ändernden Ereignisdaten neu und vereinheitlicht die Arbeit mit Daten "in motion" und "at rest". Damit bringt MongoDB die Flexibilität des Dokumentenmodells sowie das Query-API (das es erlaubt, mit Daten als Code zu arbeiten), auch in den Stream-Processing-Bereich ein.
Zu den Neuerungen der Preview-Version gehören:
- VS-Code-Integration: Das MongoDB VS Code-Plug-in fügt Unterstützung für die Verbindung mit Stream-Processing-Instanzen hinzu. Entwickler, die das Plug-in bereits nutzen, können damit Prozessoren in einer vertrauten Entwicklungsumgebung erstellen und verwalten. Das spart Zeitaufwand für den Wechsel zwischen Tools.
- Verbesserte Dead Letter Queue (DLQ)-Funktionen: Die DLQ-Unterstützung ist ein Schlüsselelement für eine leistungsstarke Stream-Verarbeitung und im öffentlichen Preview erweitern wir die DLQ-Funktionen. DLQ-Meldungen werden jetzt selbst angezeigt, wenn Pipelines mit sp.process() ausgeführt werden und wenn .sample() auf laufenden Prozessoren ausgeführt wird. Dies ermöglicht eine optimierte Entwicklungserfahrung, die keine Einrichtung einer Ziel-Collection als DLQ erfordert.
Ausweitung der erweiterten Merkmale und Funktionen
Atlas Stream Processing unterstützte von Anfang an viele der wichtigsten Aggregationsoperatoren, mit denen Entwickler in der Query API arbeiten, die mit Daten "at rest" verwendet wird. Nun wurden zusätzlich leistungsstarke Windowing-Funktionen und die Möglichkeit hinzugefügt, Daten einfach zusammenzuführen und an die Atlas-Datenbank oder ein Kafka-Topic zu übermitteln. Der Preview soll weitere Funktionen bereitstellen:
Atlas Stream Processing unterstützte von Anfang an viele der wichtigsten Aggregationsoperatoren, mit denen Entwickler in der Query API arbeiten, die mit Daten "at rest" verwendet wird. Nun wurden zusätzlich leistungsstarke Windowing-Funktionen und die Möglichkeit hinzugefügt, Daten einfach zusammenzuführen und an die Atlas-Datenbank oder ein Kafka-Topic zu übermitteln. Der Preview soll weitere Funktionen bereitstellen:
- $lookup: Entwickler können nun Dokumente, die in einem Stream-Prozessor verarbeitet werden, mit Daten aus entfernten Atlas Clustern anreichern, indem sie Joins gegen Felder aus dem Dokument und der Ziel-Collection durchführen.
- Change Streams vor und nach der Bildgebung: Viele Entwickler verwenden Atlas Stream Processing, um Daten durch Change Streams kontinuierlich als Quelle zu nutzen. Im Preview wurde der Change Stream $source um die Unterstützung von Pre- und Post-Images erweitert. Das unterstützt Anwendungsfälle, in denen Entwickler Deltas zwischen Feldern in Dokumenten berechnen müssen, sowie Anwendungsfälle, die Zugriff auf den vollständigen Inhalt eines gelöschten Dokuments erfordern.
- Bedingtes Routing mit dynamischen Ausdrücken in Merge- und Emit-Phasen: Mit bedingtem Routing können Entwickler den Wert von Feldern in Dokumenten, die in Atlas Stream Processing verarbeitet werden, verwenden, um bestimmte Nachrichten dynamisch an verschiedene Atlas Collections oder Kafka-Topics zu senden. Die Stufen $merge und $emit unterstützen jetzt auch die Verwendung von dynamischen Ausdrücken. Dadurch ist es möglich, die Query-API für Anwendungsfälle zu verwenden, die die Fähigkeit erfordern, Nachrichten je nach Bedarf an verschiedene Collections oder Topics zu leiten.
- Zeitüberschreitungen im Leerlauf: Streams, die aufgrund fehlender eingehender Daten keine fortschreitenden Wasserzeichen aufweisen, können jetzt so konfiguriert werden, dass sie sich nach einer gewissen Zeit schließen und die Ergebnisse der Fenster ausgeben. Das kann für Streaming-Quellen mit inkonsistenten Datenströmen von entscheidender Bedeutung sein.
Ab der Preview Version ist Atlas Stream Processing gebührenpflichtig. Mehr über die Preise für Atlas Stream Processing, erste Schritte und Details finden interessierte Entwickler in der Dokumentation. Dieser Podcast mit Kenny Gorman, Head of Streaming Products bei MongoDB, bietet eine Kurzeinführung in drei Minuten.