Verhalten und Anwendungsfälle
Mit Datastream können Sie Quelldaten aus einem relationalen Datenbankverwaltungssystem (RDBMS) und anderen Quellen nahezu in Echtzeit in Ziele wie BigQuery, Apache Iceberg-Tabellen und Cloud Storage aufnehmen. Dies ermöglicht nachgelagerte Anwendungsfälle wie das Laden von Daten in BigQuery für Data-Warehouse-Prozesse und Analysen oder die Ausführung von Apache Spark-Jobs für Daten aus den Bereichen künstliche Intelligenz und maschinelles Lernen.
Konzepte
In diesem Abschnitt werden die wichtigsten Konzepte beschrieben, die Sie kennen müssen, um Datastream effektiv zu nutzen.
Change Data Capture
Change Data Capture (CDC) besteht aus einer Reihe von Softwaredesign mustern zum Ermitteln und Verfolgen von geänderten Daten, damit Anwendungen die Aktualisierungen verarbeiten können. CDC ist auch ein Ansatz für die Datenintegration, der auf der Identifizierung, Erfassung und Bereitstellung von Änderungen an Unternehmensdatenquellen basiert.
Ereignis-Sourcing
Das Designmuster für Ereignis-Sourcing erfasst jede Änderung am Zustand einer Anwendung in einem Ereignisobjekt. Mithilfe von Ereignis-Sourcing kann eine Anwendung ihren Zustand neu erstellen, eine Wiederherstellung zu einem bestimmten Zeitpunkt durchführen (durch Verarbeitung von Ereignissen bis zu diesem Punkt), den Zustand bei einer Änderung der Geschäftslogik neu berechnen oder eine CQRS-Architektur (Command Query Responsibility Segregation) aktivieren. Mit der Weiterentwicklung von Tools für die Verarbeitung von Ereignissen in Echtzeit wird das Modell für Ereignis-Sourcing von vielen Anwendungen verwendet. Transaktionale Datenbanken sind von Natur aus ereignisorientiert, um die Anforderungen an Atomarität, Konsistenz, Isolation und Langlebigkeit (ACID) zu erfüllen.
Transaktionale Datenbanken
In einer transaktionalen Datenbank werden die auszuführenden Vorgänge normalerweise in ein Write-Ahead-Log (WAL) geschrieben, bevor Vorgänge auf der Speicher-Engine ausgeführt werden. Nachdem ein Vorgang auf der Speicher-Engine ausgeführt und im WAL festgeschrieben wurde, wird der Vorgang als erfolgreich betrachtet. Die Verwendung von WAL ermöglicht Atomarität und Langlebigkeit sowie eine zuverlässige Replikation der Datenbank. Einige Datenbanken schreiben in das Log genau den Vorgang, der auf Speicherebene erfolgt (z. B. write 0x41 at location 20), sodass diese Aktionen nur auf derselben Speicher-Engine repliziert werden können. Andere Datenbanken protokollieren eine vollständige logische Anweisung (oder Zeile), die auf einer anderen Speicher-Engine neu ausgeführt werden kann.
Ereignisse und Streams
Datastream nimmt große Datenmengen nahezu in Echtzeit aus verschiedenen Quellen auf und stellt die Daten am Ziel zur Verfügung. Die von Datastream gespeicherte Dateneinheit ist ein Ereignis. Ein Stream stellt die kontinuierliche Aufnahme von Ereignissen aus einer Quelle dar und schreibt sie in ein Ziel.
Einheitliche Typen
Datenquellen haben ihre eigenen Datentypen, von denen einige spezifisch für die Datenbank selbst und andere allgemein und über mehrere Datenbanken verteilt sind. Da mehrere Quellen Streams für ein einheitliches Ziel generieren, ist eine Standarddarstellung des ursprünglichen Quelltyps für alle Quellen erforderlich. Der einheitliche Typ ist eine häufige und verlustfreie Darstellung von Datentypen aus allen Quellen, damit Daten einheitlich verwendet werden können. Die von Datastream unterstützten einheitlichen Typen stellen die Obermenge aller normalisierten Typen in allen unterstützten Quellsystemen dar.
Entitätskontext
Datastream hat fünf Entitäten:
- Konfigurationen für private Verbindungen ermöglichen Datastream die Kommunikation mit Datenquellen über eine sichere, private Netzwerkverbindung. Diese Kommunikation erfolgt über VPC-Peering (Virtual Private Cloud).
- Verbindungsprofile enthalten Verbindungsinformationen für eine bestimmte Quell- oder Zieldatenbank.
- Streams stellen ein Verbindungsprofilpaar aus Quelle und Ziel sowie streamspezifischen Einstellungen dar.
- Objekte stellen einen Teil eines Streams dar. Ein Datenbankstream hat beispielsweise ein Datenobjekt für jede Tabelle, die gestreamt wird.
- Ereignisse stellen jede DML-Änderung (Data Manipulation Language, Datenbearbeitungssprache) für ein bestimmtes Objekt dar.
Nachdem Sie eine Konfiguration für private Verbindungen erstellt haben, können Sie eine Verbindung zu Quellen herstellen, die in Google Cloud oder an einem anderen Ort über einen privaten Kommunikationskanal gehostet werden. Private Verbindungen sind optional. Datastream unterstützt auch andere Verbindungsmodi über öffentliche Netzwerke.
Nachdem Sie ein Verbindungsprofil für eine Quelle und ein Ziel erstellt haben, können Sie Streams erstellen, die Daten anhand der in den Verbindungsprofilen gespeicherten Informationen von der Quelle an das Ziel übertragen.
Nachdem Sie einen Stream erstellt haben, stellt Datastream eine direkte Verbindung zur Quelle her, liest den Inhalt ein und verarbeitet und schreibt die Ereignisse anhand der Ereignis struktur an das Ziel.
Sie können Konfigurationen für private Verbindungen und Verbindungsprofile getrennt von Streams verwalten, um sie wiederzuverwenden.
Features
Zu den Features von Datastream gehören:
- Serverlos:Konfigurieren Sie einen Stream und die Daten werden verschoben. Es fallen keine Kosten für Installation, Ressourcenzuweisung oder Wartung an. Die Autoscaling-Funktionen von Datastream weisen bei sich ändernden Datenmengen automatisch Ressourcen zu, um den Datentraffic nahezu in Echtzeit aufrechtzuerhalten.
- Avro Unified Types-Schema:Datastream ermöglicht eine quellenunabhängige Verarbeitung. Dabei werden alle quellenspezifischen Datentypen basierend auf Avro-Typen in ein einheitliches Datastream-Typschema umgewandelt.
- Verlaufs- und CDC-Daten streamen:Datastream streamt sowohl Verlaufsdaten als auch CDC-Quelldaten gleichzeitig und nahezu in Echtzeit.
- Oracle CDC ohne zusätzliche Lizenzen:Datastream bietet LogMiner-basiertes CDC-Streaming von jeder Oracle-Quellversion ab 11.2. Dabei fallen keine Kosten für zusätzliche Lizenzen oder Softwareinstallationen an.
- BigQuery-Ziel:Änderungen in der Quelle werden nahezu in Echtzeit kontinuierlich in BigQuery-Tabellen repliziert. Daten in BigQuery sind mit minimaler Verzögerung für Analysen verfügbar.
- Cloud Storage-Ziel:CDC-Daten werden kontinuierlich in selbstbeschreibende Avro- oder JSON-Dateien in Cloud Storage geschrieben. Diese Daten können entweder direkt oder durch das nachgelagerte Laden an ein anderes Ziel wie Spanner für die weitere Verarbeitung genutzt werden.
- Zentrale Metadatenverwaltung mit Knowledge Catalog:Datastream-Ressourcen wie Streams, Verbindungsprofile und Konfigurationen für private Verbindungen werden automatisch mit Knowledge Catalog synchronisiert. So können Sie diese Assets direkt über die Knowledge Catalog-Benutzeroberfläche suchen und durchsuchen.
Anwendungsfälle
Es gibt drei Hauptszenarien für die Verwendung von Datastream:
- Datenintegration: Datenstreams aus Datenbanken und Software-as-a-Service (SaaS)-Clouddiensten können eine Datenintegrationspipeline nahezu in Echtzeit speisen , indem Sie Daten in BigQuery laden.
- Streaminganalysen: Änderungen von Datenbanken werden in Streaming Pipelines aufgenommen, die Dataflow zur Betrugserkennung, Verarbeitung von Sicherheitsereignissen und Anomalieerkennung verwenden.
- Datenänderungen sind nahezu in Echtzeit verfügbar: Durch die Verfügbarkeit von Daten änderungen nahezu in Echtzeit können Anwendungen für künstliche Intelligenz und maschinelles Lernen die Abwanderung verhindern oder die Bindung über Marketingkampagnen oder durch Rückkopplung von Daten in Produktionssysteme erhöhen.
Verhaltensübersicht
Mit Datastream können Sie laufende Änderungen aus mehreren Daten quellen direkt in streamen Google Cloud.
Quellen
- Bevor Sie eine Quelle mit Datastream verwenden, müssen Sie die Authentifizierung und zusätzliche Quelloptionen konfigurieren.
- Jede Quelle generiert Ereignisse, die alle DML-Änderungen (Data Manipulation Language, Datenbearbeitungssprache) widerspiegeln.
- Ein Stream kann einen Backfill für Verlaufsdaten durchführen und laufende Änderungen an ein Ziel streamen.
Ziele
Datastream unterstützt BigQuery, Apache Iceberg Tabellen und Cloud Storage als Ziele. Wenn Sie einen Stream erstellen, definieren Sie die Zielkonfiguration.
Ereignisübermittlung
- Die Reihenfolge der Ereignisse ist nicht garantiert. Ereignismetadaten enthalten Informationen, mit denen die Ereignisse sortiert werden können.
- Die Ereignisübermittlung erfolgt mindestens einmal. Ereignismetadaten enthalten Daten, mit denen doppelte Daten am Ziel entfernt werden können.
- Die Ereignisgröße ist auf 20 MB pro Ereignis für BigQuery-Ziele und 100 MB pro Ereignis für Cloud Storage-Ziele begrenzt.
Weitere Informationen zu Ereignissen finden Sie unter Ereignisse und Streams.
Hochverfügbarkeit und Notfallwiederherstellung
Datastream bietet Hochverfügbarkeit über Zonen hinweg und verwaltet die Notfallwiederherstellung bei regionalen Ausfällen:
Hochverfügbarkeit: Datastream ist ein regionaler Dienst, der in mehreren Zonen in jeder Region ausgeführt wird. Ein Ausfall in einer einzelnen Zone in einer Region hat keine Auswirkungen auf die Verfügbarkeit oder Qualität des Dienstes in anderen Zonen.
Notfallwiederherstellung:Wenn eine Region ausfällt, sind alle in dieser Region ausgeführten Streams für die Dauer des Ausfalls nicht verfügbar. Nachdem der Ausfall behoben wurde, setzt Datastream den Streaming-Vorgang an der Stelle fort, an der er unterbrochen wurde. Alle Daten, die nicht in das Ziel geschrieben wurden, werden noch einmal aus der Quelle abgerufen. In diesem Fall können sich doppelte Daten am Ziel befinden. Informationen zum Entfernen doppelter Daten, siehe Ereignisübermittlung.
Initialdaten und CDC-Daten
Da Datenquellen über Daten verfügen, die vor dem Zeitpunkt vorhanden waren, zu dem die Quelle mit einem Stream verbunden wurde (Verlaufsdaten), generiert Datastream Ereignisse sowohl aus den historischen Daten als auch aus den Datenänderungen, die in Echtzeit stattfinden.
Um einen schnellen Datenzugriff zu gewährleisten, werden die Verlaufsdaten und die Datenänderungen in Echtzeit gleichzeitig an das Ziel repliziert. Die Ereignis metadaten geben an, ob ein Ereignis aus dem Backfill oder von CDC stammt.
Nächste Schritte
- Weitere Informationen zu Datastream.
- Informationen zu Zuordnungen einheitlicher Typen.
- Informationen zu unterstützten Quellen.
- Informationen zu unterstützten Zielen.
- Konfigurationen für private Verbindungen, Verbindungsprofile und Streams erstellen.