Daten Pipelines in Autonomous Database

Autonomous Database-Datenpipelines sind entweder Ladepipelines oder Exportpipelines.

Load Pipelines ermöglichen das kontinuierliche inkrementelle Laden von Daten aus externen Quellen (wenn Daten im Objektspeicher eingehen, werden sie in eine Datenbanktabelle geladen). Exportpipelines bieten einen kontinuierlichen inkrementellen Datenexport in den Objektspeicher (da neue Daten in einer Datenbanktabelle angezeigt werden, werden sie in den Objektspeicher exportiert). Pipelines verwenden den Datenbank-Scheduler, um kontinuierlich inkrementelle Daten zu laden oder zu exportieren.

Autonomous Database-Datenpipelines bieten Folgendes:

  • Einheitliche Vorgänge: Mit Pipelines können Sie Daten schnell und einfach laden oder exportieren und diese Vorgänge in regelmäßigen Abständen für neue Daten wiederholen. Das Package DBMS_CLOUD_PIPELINE stellt ein einheitliches Set von PL/SQL-Prozeduren für die Pipelinekonfiguration und zum Erstellen und Starten eines geplanten Jobs für Lade- oder Exportvorgänge bereit.

  • Geplante Datenverarbeitung: Pipelines überwachen ihre Datenquelle und laden oder exportieren die Daten regelmäßig, wenn neue Daten eintreffen.

  • High Performance: Pipelines skalieren Datenübertragungsvorgänge mit den verfügbaren Ressourcen in Autonomous Database. Pipelines verwenden standardmäßig Parallelität für alle Lade- oder Exportvorgänge und skalieren basierend auf den in Autonomous Database verfügbaren CPU-Ressourcen oder basierend auf einem konfigurierbaren Prioritätsattribut.

  • Atomizität und Recovery: Pipelines garantieren die Atomarität, sodass Dateien im Objektspeicher genau einmal für eine Ladepipeline geladen werden.

  • Überwachung und Fehlerbehebung: Pipelines stellen detaillierte Log- und Statustabellen bereit, mit denen Sie Pipelinevorgänge überwachen und debuggen können.

  • Multicloud-kompatibel: Pipelines in Autonomous Database unterstützen den einfachen Wechsel zwischen Cloud-Providern ohne Anwendungsänderungen. Pipelines unterstützen alle von Autonomous Database unterstützten Zugangsdaten- und Objektspeicher-URI-Formate (Oracle Cloud Infrastructure Object Storage, Amazon S3, Azure Blob Storage oder Azure Data Lake Storage, Google Cloud Storage und Amazon S3-Compatible-Objektspeicher).

Datenpipelinelebenszyklus in Autonomous Database

Das Package DBMS_CLOUD_PIPELINE stellt Prozeduren zum Erstellen, Konfigurieren, Testen und Starten einer Pipeline bereit. Der Pipeline-Lebenszyklus und die Verfahren sind für Lade- und Exportpipelines identisch.

Beschreibung von pipeline_lifecycle.eps folgt
Beschreibung der Abbildung pipeline_lifecycle.eps

Führen Sie für beide Pipeline-Typen die folgenden Schritte aus, um eine Pipeline zu erstellen und zu verwenden:

  1. Erstellen und konfigurieren Sie die Pipeline. Weitere Informationen finden Sie unter Pipelines erstellen und konfigurieren.

  2. Testen Sie eine neue Pipeline. Weitere Informationen finden Sie unter Testpipelines.

  3. Starten Sie eine Pipeline. Weitere Informationen finden Sie unter Pipeline starten.

Darüber hinaus können Sie Pipelines überwachen, stoppen oder löschen:

  • Während eine Pipeline ausgeführt wird, können Sie sie entweder während des Tests oder während der regulären Verwendung nach dem Start der Pipeline überwachen. Weitere Informationen finden Sie unter Pipelines überwachen und Fehler beheben.

  • Sie können eine Pipeline stoppen und später erneut starten oder eine Pipeline löschen, wenn Sie die Verwendung der Pipeline abgeschlossen haben. Weitere Informationen finden Sie unter Pipeline stoppen und Pipeline löschen.

Pipelines in Autonomous Database laden

Verwenden Sie eine Ladepipeline zum kontinuierlichen inkrementellen Laden von Daten aus externen Dateien im Objektspeicher in eine Datenbanktabelle. Eine Ladepipeline identifiziert regelmäßig neue Dateien im Objektspeicher und lädt die neuen Daten in die Datenbanktabelle.

Eine Ladepipeline funktioniert wie folgt (einige dieser Features können mit Pipelineattributen konfiguriert werden):

  • Objektspeicherdateien werden parallel in eine Datenbanktabelle geladen.

    • Eine Ladepipeline verwendet den Objektspeicherdateinamen, um neuere Dateien eindeutig zu identifizieren und zu laden.
    • Nachdem eine Datei im Objektspeicher in die Datenbanktabelle geladen wurde, wird sie nicht mehr geladen, wenn sich der Dateiinhalt im Objektspeicher ändert.
    • Wenn die Objektspeicherdatei gelöscht wird, hat dies keine Auswirkungen auf die Daten in der Datenbanktabelle.
  • Wenn Fehler auftreten, wiederholt eine Ladepipeline den Vorgang automatisch. Bei jeder nachfolgenden Ausführung des geplanten Jobs der Pipeline werden Wiederholungen versucht.

  • Wenn die Daten in einer Datei nicht mit der Datenbanktabelle konform sind, wird sie als FAILED markiert und kann geprüft werden, um das Problem zu debuggen und zu beheben.

    • Wenn eine Datei nicht geladen werden kann, wird die Pipeline nicht gestoppt und die anderen Dateien werden weiterhin geladen.
  • Load Pipelines unterstützen mehrere Eingabedateiformate, darunter: JSON, CSV, XML, Avro, ORC und Parquet.

Beschreibung von load-pipeline.eps folgt
Beschreibung der Abbildung load-pipeline.eps

Die Migration von Nicht-Oracle-Datenbanken ist ein möglicher Anwendungsfall für eine Ladepipeline. Wenn Sie Ihre Daten von einer Nicht-Oracle-Datenbank zu Oracle Autonomous Database migrieren müssen, können Sie die Daten extrahieren und in Autonomous Database laden (das Oracle Data Pump-Format kann nicht für Migrationen aus Nicht-Oracle-Datenbanken verwendet werden). Mit einem generischen Dateiformat wie CSV zum Exportieren von Daten aus einer Nicht-Oracle-Datenbank können Sie Ihre Daten in Dateien speichern und die Dateien in den Objektspeicher hochladen. Erstellen Sie als Nächstes eine Pipeline, um die Daten in Autonomous Database zu laden. Die Verwendung einer Ladepipeline zum Laden einer großen Gruppe von CSV-Dateien bietet wichtige Vorteile wie Fehlertoleranz sowie Wiederaufnahme- und Wiederholungsvorgänge. Bei einer Migration mit einem großen Dataset können Sie mehrere Pipelines erstellen, eine pro Tabelle für die Nicht-Oracle-Datenbankdateien, um Daten in Autonomous Database zu laden.

Pipelines in Autonomous Database exportieren

Verwenden Sie eine Exportpipeline für den kontinuierlichen inkrementellen Export von Daten aus der Datenbank in den Objektspeicher. Eine Exportpipeline identifiziert regelmäßig Kandidatendaten und lädt die Daten in den Objektspeicher hoch.

Es gibt drei Exportpipelineoptionen (die Exportoptionen können mit Pipelineattributen konfiguriert werden):

  • Exportieren Sie inkrementelle Ergebnisse einer Abfrage in den Objektspeicher, indem Sie eine Datums- oder Zeitstempelspalte als Schlüssel zum Verfolgen neuerer Daten verwenden.

  • Exportieren Sie inkrementelle Daten einer Tabelle in einen Objektspeicher, indem Sie eine Datums- oder Zeitstempelspalte als Schlüssel zum Verfolgen neuerer Daten verwenden.

  • Exportieren Sie Daten einer Tabelle in einen Objektspeicher mit einer Abfrage, um Daten ohne Referenz auf eine Datums- oder Zeitstempelspalte auszuwählen (damit die Pipeline alle Daten exportiert, die von der Abfrage für jede Scheduler-Ausführung ausgewählt werden).

Exportpipelines verfügen über die folgenden Features (einige davon können mit Pipelineattributen konfiguriert werden):

  • Ergebnisse werden parallel zum Objektspeicher exportiert.

  • Bei Fehlern wiederholt ein nachfolgender Pipelinejob den Exportvorgang.

  • Exportpipelines unterstützen mehrere Exportdateiformate, darunter CSV, JSON, Parquet oder XML.

Von Oracle verwaltete Pipelines

Autonomous Database stellt integrierte Pipelines für den Export von Logs in den Objektspeicher bereit. Diese Pipelines sind vorkonfiguriert und können vom ADMIN-Benutzer gestartet werden.

Die von Oracle verwalteten Pipelines sind:

  • ORA$AUDIT_EXPORT: Diese Pipeline exportiert die Datenbankauditlogs in den Objektspeicher im JSON-Format und wird alle 15 Minuten nach dem Start der Pipeline ausgeführt (basierend auf dem Attributwert interval).

  • ORA$APEX_ACTIVITY_EXPORT: Diese Pipeline exportiert das Oracle APEX-Workspace-Aktivitätslog in den Objektspeicher im JSON-Format. Diese Pipeline ist mit der SQL-Abfrage zum Abrufen von APEX-Aktivitätsdatensätzen vorkonfiguriert und wird alle 15 Minuten nach dem Starten der Pipeline ausgeführt (basierend auf dem Attributwert interval).

Die verwalteten Oracle-Pipelines gehören dem ADMIN-Benutzer, und Attribute von verwalteten Oracle-Pipelines können vom ADMIN-Benutzer geändert werden.

Standardmäßig verwenden die von Oracle verwalteten Pipelines OCI$RESOURCE_PRINCIPAL als credential_name.

Weitere Informationen finden Sie unter Von Oracle verwaltete Pipelines verwenden.