Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Paralleles Laden von Datensatzsegmenten

Beim vollständigen Laden können Sie das Laden großer Datensätze beschleunigen, indem Sie den Datensatz in Segmente aufteilen, die dann parallel geladen werden. Tabellen können nach Datenbereichen, allen Partitionen, allen Unterpartitionen oder bestimmten Partitionen aufgeteilt werden.

InformationshinweisWenn Sie Data Movement gateway verwenden, wird diese Funktion ab Version 2024.5.35 unterstützt.

Jedes Datensatzsegment wird mit einer separaten Unteraufgabe geladen. Daher sollten Sie bei der Entscheidung, wie Sie einen Datensatz aufteilen, immer die Verfügbarkeit von Datenbank- und Netzwerkressourcen berücksichtigen. Die Aufteilung einer Tabelle in zu viele Segmente kann die Datenbankleistung beeinträchtigen und die Netzwerkkapazität überlasten. Wenn Sie die Segmentierungsmethode Datenbereiche mit einem partitionierten Datensatz wählen, empfiehlt es sich, die Bereiche so einzurichten, dass jeder Bereich eine oder mehrere ganze Partitionen abdeckt. Dies beschleunigt den Datenabruf und minimiert die Auswirkungen auf die Verarbeitungsressourcen der Datenbank.

Unterstützte Datenquellen und Ziele

Die Datenaufgabe muss mit einer Kombination der folgenden Datenquellen- und Zielkonnektoren definiert werden.

  • IBM DB2 for LUW
  • IBM DB2 for z/OS

    Informationshinweis

    Die Tabellensegmentierung nach Partitionen oder Unterpartitionen wird mit dem IBM DB2 for z/OS-Konnektor nicht unterstützt.

  • Microsoft SQL Server (protokollbasiert)
  • MySQL
  • Oracle
  • PostgreSQL

    Informationshinweis

    Die Tabellensegmentierung nach Partitionen oder Unterpartitionen wird mit dem PostgreSQL-Quellkonnektor nicht unterstützt.

  • SAP (Anwendung)
    Informationshinweis

    Tabellen mit dem Quellendpunkt „SAP (Anwendung)“ sind standardmäßig clientabhängig. Die Spalte „MANDT“ wird automatisch direkt aus dem Konnektor übernommen.

  • SAP HANA (Datenbank)
  • Amazon Redshift
  • Amazon S3
  • Google Cloud BigQuery
  • Google Cloud Storage
  • Microsoft Fabric Data Warehouse
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Snowflake

Einrichten paralleler Ladevorgänge

Sie können eine Tabelle mit einer von zwei Methoden aufteilen: Datenbereiche oder Partitionen. Mit der Methode Datenbereiche wird die Tabelle nach Datenbereichen aufgeteilt, während sie mit der Methode Partitionen nach Partitionen aufgeteilt wird.

Verwenden der Methode „Datenbereiche“

So definieren Sie Segmentgrenzen nach Datenbereich:

  1. Klicken Sie auf der Registerkarte Datensätze auf das Menü Symbol „Mehr“ rechts neben dem Datensatz und wählen Sie Einstellungen aus.

    Das Dialogfeld Paralleles Laden wird geöffnet.

  2. Wählen Sie die Segmentierungsmethode Datenbereiche aus.

  3. Klicken Sie auf Spalten auswählen.

    Das Dialogfeld Tabellensegmentierungsspalten wird geöffnet.

  4. Für alle unterstützten Datenquellen wird die Spalte „Eindeutiger Index“ automatisch ausgewählt. Wählen Sie, welche zusätzlichen Spalten mit Daten Sie zur Abgrenzung der Bereiche verwenden möchten, und klicken Sie dann auf OK.

    Informationshinweis
    • Es wird empfohlen, Spalten zu verwenden, die keine NULLs zulassen und die bei normalen Quelldatenbankvorgängen nicht aktualisiert werden (z.B. eine Primärschlüsselspalte oder eine Datumsspalte mit einem festen Datum). Die Verwendung einer Spalte, die beim vollständigen Laden aktualisiert wird, kann zu Duplikaten in der Zieldatenbank führen.

    • Es wird empfohlen, indizierte Quellspalten zu verwenden, da dies die Datenabrufsleistung optimiert.

    • Bis zu zehn Spalten können ausgewählt werden.

    • Datensätze mit Nullwerten werden nicht repliziert

    • Die folgenden Datentypen können nicht zum Definieren von Segmenten nach Bereichen verwendet werden: DOUBLE, FLOAT und LOB (BLOB, CLOB, NCLOB)

  5. Klicken Sie auf Datenbereich hinzufügen, um ein Datenbereichssegment hinzuzufügen.

    Das Dialogfeld Datenbereich hinzufügen wird mit den von Ihnen ausgewählten Spalten geöffnet.

  6. Geben Sie für jede Spalte den oberen Datenbereich des Segments ein.

    Informationshinweis

    Die Werte in DATE-Spalten müssen in dem von der Quelle unterstützten Format eingegeben werden. Für eine Oracle-Quelle lautet das korrekte Format zum Beispiel folgendermaßen:

    • ALTER SESSION SET NLS_DATE_FORMAT:

      'YYYY-MM-DD HH24:MI:SS' (die Angabe nur von YYYY-MM-DD ist ebenfalls gültig)

    • ALTER SESSION SET NLS_TIMESTAMP_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9'

    • ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'

  7. Klicken Sie auf OK, um die Einstellungen zu speichern und das Dialogfeld zu schließen.

    Jede der ausgewählten Spalten wird mit ihrem angegebenen Bereich angezeigt.

  8. Wiederholen Sie die Schritte 3-6 wie erforderlich, um Spalten und Datenbereiche hinzuzufügen.
  9. Klicken Sie auf Validieren, um zu überprüfen, ob die von Ihnen eingegebenen Daten dem Datentyp der Quellspalte entsprechen und ob alle definierten Segmente Werte enthalten.
Informationshinweis

Mit der Segmentierungsmethode Datenbereiche werden alle Tabellendaten repliziert, auch wenn nicht für alle Spalten Datenbereiche definiert sind.

So bearbeiten Sie einen Datenbereich:

  1. Klicken Sie auf das Menü Symbol „Mehr“ am Ende der Zeile und wählen Sie Bearbeiten aus.
  2. Bearbeiten Sie den Datenbereich nach Bedarf und klicken Sie auf OK, um die Änderungen zu speichern.

So löschen Sie einen Datenbereich:

  1. Klicken Sie auf das Menü Symbol „Mehr“ am Ende der Zeile und wählen Sie Löschen aus.
  2. Wenn Sie aufgefordert werden, das Löschen zu bestätigen, klicken Sie auf Löschen.

Verwendungsbeispiel

Angenommen, die folgenden Segmente sind definiert:

Beispieltabellendaten
Spalte_1 Spalte_2 Spalte_3

10

30

105

20

20

120

100

12

99

In diesem Fall werden die folgenden „WHERE“-Klauseln für jedes Ladesegment erstellt:

  • Segment 1:((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
  • Segment 2:NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
  • Segment 3:NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
  • Segment 4:NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))

Verwenden der Methode „Partitionen“

Sie können Segmentgrenzen nach allen Tabellenpartitionen, nach allen Unterpartitionen der Tabelle (wenn die Datenquelle Unterpartitionen unterstützt) oder nach bestimmten Partitionen definieren.

Informationshinweis
  • Diese Methode kann nur verwendet werden, wenn der Datensatz bereits partitioniert ist.
  • Wenn Sie eine Aufgabe haben, die bereits vor der Freigabe dieser Funktion existierte, und Sie entweder die Aufgabe noch nicht gestartet haben oder eine oder mehrere Tabellen mit dieser Methode parallel neu laden möchten, müssen Sie zunächst die Metadaten aktualisieren, wie unter Registrieren von Daten, die bereits in der Datenplattform vorhanden sind beschrieben. (Der in diesem Thema beschriebene Prozess zur Aktualisierung der Metadaten ist für alle Datenaufgabentypen gleich.)

Verwenden aller Partitionen

So definieren Sie Segmentgrenzen nach allen Tabellenpartitionen oder Unterpartitionen:

  1. Klicken Sie auf der Registerkarte Datensätze auf das Menü Symbol „Mehr“ rechts neben dem Datensatz und wählen Sie Einstellungen aus.

    Das Dialogfeld Paralleles Laden wird geöffnet.

  2. Wählen Sie die Segmentierungsmethode Partitionen aus.

  3. Wählen Sie eine der folgenden Optionen aus:

    • Alle Hauptpartitionen verwenden

    • Alle Unterpartitionen verwenden

      Informationshinweis

      Diese Option wird deaktiviert, wenn die Datenquelle keine Unterpartitionen unterstützt.

  4. Klicken Sie auf OK.

Verwenden spezifischer Partitionen

So definieren Sie Segmentgrenzen nach spezifischen Partitionen:

  1. Klicken Sie auf der Registerkarte Datensätze auf das Menü Symbol „Mehr“ rechts neben dem Datensatz und wählen Sie Einstellungen aus.

    Das Dialogfeld Paralleles Laden wird geöffnet.

  2. Wählen Sie die Segmentierungsmethode Partitionen aus.

  3. Wählen Sie Partitionen angeben aus.

    Informationshinweis

    Wenn Partitionen angeben ausgewählt ist, werden nur die angegebenen Partitionen repliziert.

  4. Klicken Sie auf Partition hinzufügen.

    Das Dialogfeld Partition hinzufügen wird geöffnet.

  5. Geben Sie den Namen einer vorhandenen Partition oder Unterpartition an.

    Wenn Sie eine Unterpartition hinzufügen, aktivieren Sie das Kontrollkästchen Unterpartition.

  6. Klicken Sie auf OK, um die Einstellungen zu speichern.
  7. Wiederholen Sie die Schritte 4-6 wie erforderlich, um weitere Partitionen oder Unterpartitionen hinzuzufügen.

So bearbeiten Sie eine Partition:

  1. Klicken Sie auf das Menü Symbol „Mehr“ am Ende der Zeile und wählen Sie Bearbeiten aus.
  2. Bearbeiten Sie die Partition wie erforderlich und klicken Sie auf OK, um die Änderungen zu speichern.

So löschen Sie eine Partition:

  1. Klicken Sie auf das Menü am Ende der Zeile und wählen Sie Löschen aus.
  2. Wenn Sie aufgefordert werden, das Löschen zu bestätigen, klicken Sie auf Löschen.

Anpassen der Anzahl von Segmenten, die parallel geladen werden können

Sie können die Anzahl der Segmente, die parallel geladen werden, erhöhen oder verringern. Der Wert wird aus dem Feld Vollständiges Laden > Leistungsfeinabstimmung > Maximale Anzahl parallel zu ladender Tabellen in den Datenaufgabeneinstellungen übernommen. Der aktuelle Wert wird im Dialogfeld Parallel laden im String „Bis zu <n> Segmente können parallel geladen werden“ angezeigt. Eine Erhöhung der Anzahl kann die Leistung steigern, wenn ein Datensatz in viele Segmente aufgeteilt ist, belastet aber auch die Datenbankressourcen und die Netzwerkkapazität stärker.

InformationshinweisJedes Segment wird unter Verwendung einer dedizierten Unteraufgabe geladen. Wenn Sie also beispielsweise die Option Alle Hauptpartitionen verwenden auswählen und der Quelldatensatz 20 Hauptpartitionen hat, führt die Erhöhung des Wertes Maximale Anzahl parallel zu ladender Tabellen auf 15 dazu, dass 15 Segmente (Partitionen) parallel geladen werden. Nachdem die Ausführung der Unteraufgaben abgeschlossen ist, werden sie dem Laden der verbleibenden 5 Partitionen zugewiesen.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!