
Für die Verarbeitung eines Datentransferprozess-Requests (DTP-Requests) über die Teilschritte Extraktion und Verarbeitung (Transformation und Verbuchung) gibt es verschiedene Verarbeitungstypen.
Grundsätzlich sollte der Request eines Standard-DTPs in möglichst vielen parallelen Prozessen verarbeitet werden. Für Standard-DTPs lassen sich drei Verarbeitungstypen für die Hintergrundverarbeitung unterscheiden. Die Verarbeitungstypen beschreiben jeweils einen unterschiedlichen Parallelisierungsgrad:
Die einzelnen Datenpakete werden in parallelen Prozessen extrahiert und verarbeitet, d.h. vom Hauptprozess wird pro Datenpaket ein paralleler Prozess abgespalten, der die Extraktion und Verarbeitung der Daten durchführt.
Die maximale Anzahl an Hintergrundprozessen, die dabei verwendet werden können, können Sie pro DTP festlegen.
Dieser Verarbeitungstyp wird im Folgenden auch Verarbeitungstyp 1 (V1) genannt.
Folgende Quellen unterstützen die parallele Extraktion: PSA-Tabelle der DataSource, schreiboptimiertes DataStore-Objekt und Change-Log des Standard-DataStore-Objekts.
Die Datenpakete werden nacheinander in einem Prozess extrahiert, die Verarbeitung der Pakete erfolgt in parallelen Prozessen, d.h. der Hauptprozess extrahiert die Datenpakete nacheinander und spaltet dann pro Datenpaket einen Prozess ab, der die Daten weiter verarbeitet.
Die maximale Anzahl an Hintergrundprozessen, die dabei verwendet werden können, können Sie pro DTP festlegen.
Dieser Verarbeitungstyp wird im Folgenden auch Verarbeitungstyp 2 (V2) genannt.
Die Datenpakete werden nacheinander in einem Prozess, dem Hauptprozess, extrahiert und verarbeitet.
Dieser Verarbeitungstyp wird im Folgenden auch Verarbeitungstyp 3 (V3) genannt.
Verarbeitungstyp 1 ist am performantesten, Verarbeitungstyp 3 am wenigsten performant. Welcher Verarbeitungstyp für einen bestimmten DTP (als Kombination aus Quelle, Transformation und Ziel) vom System wann gewählt wird, richtet sich nach den Eigenschaften des Extraktors, der Transformation und des Ziels.
Semantische Gruppierung möglich
Ein Extraktor besitzt diese Eigenschaft, wenn er Daten bezüglich eines im DTP festgelegten Gruppierungsschlüssels semantisch abgeschlossen paketweise an den Aufrufer zurückgeben kann. Die semantische Gruppierung ist möglich für die Quellen DataSource, DataStore-Objekt und InfoCube.
Gruppierungsschlüssel und Gruppierungstyp
Gruppierungsschlüssel
Als Gruppierungsschlüssel wird die Teilmenge der Quellfelder bezeichnet, die im DTP für die semantische Gruppierung festgelegt ist (Registerkarte ). Er legt fest, wie die Datenpakete gebildet werden, die aus der Quelle (DataSource, DataStore-Objekt oder InfoCube) gelesen werden. Die Datensätze zu einem Gruppierungsschlüssel werden in einem Datenpaket zusammengefasst. Der Gruppierungsschlüssel ist auch der Schlüssel für den Fehler-Stack des DTPs.
Der Gruppierungsschlüssel für die Quelle richtet sich danach, ob beim DTP die Fehlerbehandlung eingeschaltet ist und ob die innerhalb des DTPs aufgerufenen Transformationen und das Ziel semantisch gruppierte Daten verlangen:
Wenn die Fehlerbehandlung eingeschaltet ist, ist die Gruppierung erforderlich - um die Schlüsselfelder für den Fehler-Stack festzulegen. Dies ist für DataStore-Objekte mit Datenfeldern, die überschrieben werden, relevant. Für Ziele, bei denen die Reihenfolge der verbuchten Daten keine Rolle spielt (z.B. additives Delta in InfoCubes), stellt der Zielschlüssel den Fehler-Stack-Schlüssel dar; dieser ist dann als Gruppierungsschlüssel im DTP markiert.
Das folgende Beispiel zeigt, wie die Transformation und das Ziel eines DTPs den Gruppierungsschlüssel beeinflussen:
Fortschreibung aus einer DataSource, welche die Aktienkurse minutengenau liefern kann, in ein DataStore Objekt, in dem die Tagesendkurse einer bestimmten Wertpapierkennnummer (WKN) gehalten werden
Die Transformation zwischen DataSource und DataStore-Objekt hat in diesem Beispiel die Aufgabe, den jeweils letzten Kurs des Tages ins Ziel zu übertragen und alle anderen herauszufiltern. Dazu ist es notwendig, dass alle minutengenauen Werte zu einer bestimmten WKN und einem bestimmten Tag in einem Paket geliefert werden. Der Gruppierungsschlüssel wäre hier WKN und Kalendertag.
Gruppierungstypen
Die Gruppierungstypen legen fest, ob eine semantische Gruppierung überhaupt erforderlich ist und ein Gruppierungsschlüssel im DTP existiert. Wie bereits erläutert, ist eine Gruppierung bei eingeschalteter Fehlerbehandlung erforderlich. Folgende Gruppierungstypen sind möglich:
Paketierte Daten in der Quelle
Die Daten in der Quelle liegen bereits in standardisierter Paketform vor. Dies ist von der Quelle DataSource unterstützt.
Reihenfolge bei der Verbuchung ins Ziel spielt keine Rolle (kommutative Fortschreibung)
Im Ziel werden die Daten so abgelegt, dass sie immer parallel verbucht werden können. Eine Gruppierung ist selbst dann nicht erforderlich, wenn die Transformation dies verlangt.
Die folgende Abbildung zeigt, wie anhand der oben erläuterten Eigenschaften das System einen der beschriebenen Verarbeitungstypen festlegt:
Der DTP stellt weitere Verarbeitungstypen für spezielle Anwendungsfälle und Zugriffsmethoden zur Verfügung:
Seriell im Dialogprozess (für Debugging)
Mit diesem Verarbeitungstyp führen Sie den Datentransferprozess im Debugging-Modus aus. Der Request wird synchron in einem Dialogprozess verarbeitet und die Verbuchung der Daten wird simuliert.
Keine Datenübertragung; Deltastatus in Quelle: abgeholt
Mit diesem Verarbeitungstyp führen Sie ein Delta ohne Datenübertragung durch - analog zur Simulation der Delta-Initialisierung mit dem InfoPackage. Sie führen in diesem Fall den DTP direkt im Dialog aus.
Verarbeitungsmodus für Realtime Datenpakete
Mit diesem Verarbeitungstyp führen Sie Datentransferprozesse für Real-Time Data Acquisition aus.
Verarbeitungsmodus für Direktzugriff
Mit diesem Verarbeitungstyp führen Sie Datentransferprozesse für Direktzugriff aus.
Extraktion und Verarbeitung parallel außer Delta Init.
Mit diesem Verarbeitungstyp erreichen Sie eine weitgehende Parallelisierung auch für Delta-DTPs, die aus einem Standard-DataStore-Objekt extrahieren, dessen Delta-Initialisierung nicht aus dem Change-Log gelesen wird.
Bei der Erzeugung des Requests zu einem solchen DTP wird der Verarbeitungsmodus dynamisch folgendermaßen festgelegt: Bei der Delta-Initialisierung werden die Daten seriell (aus der aktiven Tabelle mit oder ohne Archiv) extrahiert, und die Verarbeitung der Datenpakete erfolgt in parallelen Prozessen. Die Delta-Requests werden anschließend parallel extrahiert und verarbeitet.
Extraktion und Verarbeitung parallel (flexible Vorbereitung)
Mit diesem Verarbeitungstyp werden Datentransferprozesse ausgeführt, die Daten ohne PSA direkt aus einer DataSource des Operational-Data-Provisioning-(ODP-)Quellsystems in einen InfoProvider übertragen. Der Verarbeitungstyp wird eingesetzt, wenn keine Fehlerbehandlung eingeschaltet ist und die Transformation keine semantische Gruppierung verlangt.
Dieser Verarbeitungstyp unterscheidet sich von V1 durch das Fehlen einer expliziten Vorbereitungsphase im Programmablauf (siehe auf der Registerkarte Ausführen). Für ODP-Quellsysteme könnten in einer Vorbereitungsphase noch nicht ermittelt werden, wie viele Datensätze und Pakete die Quelle liefert. Erst direkt vor dem Abspalten eines parallelen Prozesses fragt der Hauptprozess, ob in der Quelle ein Datenpaket vorhanden ist.
SAP-HANA-Ausführung
Dieser Verarbeitungstyp steht Ihnen unter bestimmten Voraussetzungen für einen Datentransferprozess zur Verfügung, deren Transformation in SAP HANA ausgeführt werden kann.
Weitere Informationen finden Sie unter Verarbeitung des Datentransferprozesses in SAP HANA.