Daten aus MongoDB-Datenbanken streamen

Mit Datastream können Sie Verlaufsdaten und Änderungsereignisse aus einer MongoDB-Quelle für Echtzeitanalysen und die Datenbanksynchronisierung replizieren. MongoDB ist eine Open-Source-NoSQL-Datenbank, die JSON-ähnliche Dokumente, einschließlich eingebetteter Dokumente, in Sammlungen organisiert. Anstatt relationale Zeilen und Spalten zu verwenden, wird jeder Eintrag im binären JSON-Format (BSON) gespeichert, um ihn als JSON abzurufen.

Bevor Sie eine MongoDB-Quelle konfigurieren, sollten Sie sich die wichtigsten Begriffe, das Replikationsverhalten, die unterstützten Versionen und die bekannten Einschränkungen in Datastream ansehen.

Wichtige Begriffe

Im Folgenden finden Sie die wichtigsten Begriffe, die Sie bei der Arbeit mit MongoDB-Quellen kennen sollten:

  • SRV-Verbindung: Ein Verbindungsstring mit einem Hostnamen, der einem DNS-Diensteintrag (SRV) entspricht. Der String hat das folgende Format:

    mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]

    Weitere Informationen finden Sie in der MongoDB-Dokumentation.

  • Standardverbindungsstring: Das Standardformat des MongoDB-Verbindungs-URI, der für die Verbindung mit einer selbst gehosteten eigenständigen MongoDB-Bereitstellung, einem Replikatset oder einem fragmentierten Cluster verwendet wird. Der String hat das folgende Format:

    mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

    Weitere Informationen finden Sie in der MongoDB-Dokumentation.

  • Replikatset: Ein Cluster von MongoDB-Servern, der Replikation und automatisiertes Failover implementiert. Replikatgruppen bieten Redundanz und Hochverfügbarkeit und sind die Grundlage für alle Produktionsbereitstellungen.

  • Fragmentierter Cluster: Ein fragmentierter MongoDB-Cluster besteht aus Shards, Mongos und Konfigurationsservern. MongoDB fragmentiert Daten auf Sammlungsebene und verteilt die Sammlungsdaten auf die Shards im Cluster.

  • mongos: die Schnittstelle zwischen den Clientanwendungen und dem Sharding-Cluster. mongos fungieren als Abfragerouter und schreiben Vorgänge in Shards.

  • Sammlung: MongoDB organisiert Daten in einer hierarchischen Struktur. Eine MongoDB-Bereitstellung enthält eine oder mehrere Datenbanken und jede Datenbank enthält eine oder mehrere Sammlungen. In jeder Sammlung speichert MongoDB Daten als Dokumente, die Feld- und Wertpaare enthalten. Sammlungen entsprechen Tabellen in relationalen Datenbanken.

Verhalten

Die MongoDB-Quelldatenbank verwendet Änderungsstreams, um Änderungen am Ziel zu replizieren. Mit Änderungsstreams können Sie auf Echtzeitdaten zugreifen. Sie werden für Replikatgruppen und Sharding-Cluster unterstützt.

  • Wenn diese Option konfiguriert ist, werden alle Verlaufsdaten für die enthaltenen Objekte repliziert.
  • Alle Änderungen, z. B. Einfügungen, Aktualisierungen und Löschungen, werden aus den angegebenen Objekten repliziert.

Versionen

Datastream unterstützt MongoDB-Versionen ab 5.0.

Bekannte Einschränkungen

Zu den bekannten Einschränkungen bei der Verwendung von MongoDB als Quelle gehören:

  • Wenn Sie die Datastream API verwenden, können Sie nur angeben, welche Felder Sie aus dem Stream ausschließen möchten. Das Angeben einer Einschlussliste für Felder wird nicht unterstützt.
  • Der strikte Modus unterstützt die numerischen Werte Infinity, -Infinity und NaN nicht. Dokumente werden verworfen, wenn sie diese Werte im strikten Modus enthalten. Wenn Ihre Datenbank diese Werte enthält, verwenden Sie den kanonischen Modus (Standard). Weitere Informationen finden Sie unter MongoDB-Datentypen.
  • Datastream unterstützt Azure Cosmos DB auf Basis von Request Units (RU) nicht.
  • Datastream unterstützt keine Amazon DocumentDB Elastic Clusters.
  • Datastream repliziert keine Änderungsereignisse aus MongoDB-Zeitreihensammlungen, da MongoDB keine Änderungsstreams für diese unterstützt. Datastream füllt nur Zeitreihensammlungen auf und repliziert keine Einfügungen, Aktualisierungen oder Löschungen, die nach dem Backfill vorgenommen wurden.

Nächste Schritte