Dienstkomponenten
Zu den Dienstkomponenten des Datenintegrationsdiensts zählen Module, die Anfragen von Client-Tools verwalten. Dazu gehören auch Manager, die die Anwendungsbereitstellung, Caches und Job-Optimierungen verwalten.
Die Dienstkomponenten werden im Datenintegrationsdienst-Prozess ausgeführt. Der Datenintegrationsdienst-Prozess muss auf einem Knoten mit der Dienstrolle ausgeführt werden. Ein Knoten mit der Dienstrolle kann Anwendungsdienste ausführen.
Datenvorschau Dienstmodul
Das Datenvorschaudienstmodul verwaltet Anfragen vom Developer Tool zur Vorschau von Quell- oder Umwandlungsdaten in einer Zuordnung.
Wenn Sie eine Datenvorschau anzeigen, sendet das Developer Tool die Anfrage an den Datenintegrationsdienst. Der Datenintegrationsdienst verwendet das Datenvorschaudienstmodul, um basierend auf dem Vorschaupunkt zu bestimmen, ob der Job in der nativen oder nicht-nativen Umgebung ausgeführt werden soll. Der Vorschaupunkt ist das Objekt in einem Mapping, für das Sie die Daten anzeigen möchten.
Datenvorschaujobs werden entweder im Datenintegrationsdienst oder auf der Spark-Engine ausgeführt. Die Spark-Engine führt den Job in folgenden Fällen aus:
- •Der Vorschaupunkt oder eine beliebige vorgelagerte Umwandlung enthält hierarchische Daten.
- •Der Vorschaupunkt oder eine beliebige vorgelagerte Umwandlung fungiert als Python-Umwandlung.
- •Der Vorschaupunkt oder eine beliebige vorgelagerte Umwandlung stellt eine für Windowing konfigurierte Ausdrucksumwandlung dar.
- •Die Zuordnung enthält eine Kombination aus Umwandlungen, die auf der Spark-Engine ausgeführt werden müssen.
Wenn die Spark-Engine einen Datenvorschaujob ausführt, verwendet der Job je nach der von Ihnen konfigurierten Clusterbereitstellung entweder den Spark-Jobserver oder Skripts vom Typ „spark-submit“. Wenn Sie die Zuordnung mit einer Verteilung konfigurieren, die Spark-Jobserver unterstützt, verwendet das Datenvorschaudienstmodul Spark-Jobserver, um Vorschau-Jobs auf der Spark-Engine auszuführen. Andernfalls verwendet das Datenvorschaudienstmodul ein spark-submit-Skript.
Weitere Informationen zu unterstützten Clusterbereitstellungen finden Sie im Data Engineering Integration-Benutzerhandbuch.
Wenn der Datenintegrationsdienst eine Vorschauanfrage erhält, die den Spark-Jobserver verwendet, startet das Datenvorschaudienstmodul den Spark-Jobserver und übergibt die Zuordnung an das LDTM. Das LDTM erzeugt einen Spark-Arbeitsablauf und der Spark-Jobserver führt den Job auf dem Hadoop-Cluster aus. Der Datenvorschau-Job erstellt Phasen des Ergebnisses im konfigurierten HDFS-Stagingverzeichnis. Der Datenintegrationsdienst übergibt die in Phasen unterteilten Daten an das Developer Tool.
Zuordnungsdienstmodul
Das Zuordnungsdienstmodul verwaltet Anfragen für die Datenvorschau und das Ausführen von Mappings.
Die folgende Tabelle listet die Anfragen auf, die das Zuordnungsdienstmodul von den verschiedenen Client-Tools verwaltet:
Anfrage | Client-Tools |
|---|
Vorschau von Quell- bzw. Umwandlungsdaten basierend auf Mapping-Logik. | Analyst Tool |
Ausführen eines Mappings. | Developer Tool |
Ausführen eines Mappings in einer bereitgestellten Anwendung. | Befehlszeile |
Vorschau eines SQL-Datendiensts. | Developer Tool |
Vorschau eines Webdienstvorgangs-Mappings. | Developer Tool |
Beispiele für Fremdanbieter-Client-Tools sind SQL SQuirreL Client, DBClient und MySQL ODBC Client.
Wenn Sie eine Zuordnung oder Vorschau von Daten aus dem Analyst Tool ausführen, sendet das Client-Tool die Anfrage und die Zuordnung an den Datenintegrationsdienst. Das Zuordnungsdienstmodul sendet das Mapping zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt das kompilierte Mapping an eine DTM-Instanz, die die Vorschaudaten generiert bzw. das Mapping ausführt.
Wenn Sie im SQL-Datendienst enthaltene Daten im Developer Tool anzeigen, sendet das Developer Tool die Anfrage an den Datenintegrationsdienst. Das Zuordnungsdienstmodul sendet die SQL-Anweisung zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt die kompilierte SQL-Anweisung an eine DTM-Instanz, die die SQL-Anweisung ausführt und die Vorschaudaten generiert.
Wenn Sie eine Web-Dienstoperationszuordnung im Developer Tool anzeigen, sendet das Developer Tool die Anfrage an den Datenintegrationsdienst. Das Zuordnungsdienstmodul sendet das Vorgangs-Mapping zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt das kompilierte Vorgangs-Mapping an eine DTM-Instanz, die das Vorgangs-Mapping ausführt und die Vorschaudaten generiert.
Profilerstellungsdienst-Modul
Das Profilerstellungsdienst-Modul verwaltet Anfragen für das Ausführen von Profilen und das Generieren von Scorecards.
Wenn Sie im Analyst- oder Developer Tool ein Profil ausführen, sendet die Anwendung die Anfrage an den Datenintegrationsdienst. Das Profilerstellungsdienst-Modul konvertiert das Profil in ein oder mehrere Mappings. Das Profilerstellungsdienst-Modul sendet die Mappings zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt die kompilierten Mappings an DTM-Instanzen, die die Profiling-Regeln abrufen und das Profil ausführen.
Wenn Sie im Analyst- oder Developer Tool eine Scorecard ausführen, sendet die Anwendung die Anfrage an den Datenintegrationsdienst. Das Profilerstellungsdienst-Modul konvertiert die Scorecard in ein oder mehrere Mappings. Das Profilerstellungsdienst-Modul sendet die Mappings zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt die kompilierten Mappings an DTM-Instanzen, die eine Scorecard für das Profil generieren.
Zum Erstellen und Ausführen von Profilen und Scorecards müssen Sie den Datenintegrationsdienst mit einem Profiling-Warehouse verknüpfen. Das Profilerstellungsdienst-Modul speichert Profiling-Daten und Metadaten im Profiling-Warehouse.
SQL-Dienstmodul
Das SQL-Dienstmodul verwaltet SQL-Abfragen, die von einem Client-Tool eines Drittanbieters an einen SQL-Datendienst gesendet werden.
Wenn der Datenintegrationsdienst eine SQL-Abfrage von einem Client-Tool eines Drittanbieters erhält, sendet das SQL-Dienstmodul die SQL-Anweisung zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt die kompilierte SQL-Anweisung an eine DTM-Instanz, um die SQL-Abfrage für die virtuellen Tabellen im SQL-Datendienst auszuführen.
Wenn Sie die Daten beim Bereitstellen eines SQL-Datendiensts nicht in einem Cache zwischenspeichern, wird eine DTM-Instanz gestartet, um den SQL-Datendienst auszuführen. Jedes Mal, wenn das Client-Tool eines Drittanbieters eine SQL-Abfrage an die virtuelle Datenbank schickt, liest die DTM-Instanz die Daten aus den Quelltabellen und nicht aus den Cache-Tabellen.
Webdienstmodul
Das Webdienstmodul verwaltet Vorgangsanfragen für Webdienste, die von einem Webdienst-Client an einen Webdienst gesendet werden.
Wenn der Datenintegrationsdienst Anfragen von einem Webdienst-Client erhält, sendet das Webdienstmodul das Webdienstvorgangs-Mapping zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt das kompilierte Mapping an eine DTM-Instanz, die das Vorgangs-Mapping ausführt. Das Webdienstmodul sendet die Vorgangs-Mapping-Antwort zurück an den Webdienst-Client.
Arbeitsablauf-Orchestration-Dienstmodul
Das Arbeitsablauf-Orchestration-Dienstmodul verwaltet Anfragen zur Ausführung von Arbeitsabläufen.
Beim Starten eines Arbeitsablaufinstanz in einer bereitgestellten Anwendung empfängt der Datenintegrationsdienst die Anfrage. Das Arbeitsablauf-Orchestration-Dienstmodul führt die Arbeitsablaufinstanz aus und verwaltet sie. Das Arbeitsablauf-Orchestration-Dienstmodul führt Arbeitsablaufobjekte in der Reihenfolge aus, in der die Objekte verbunden sind. Zudem evaluiert das Arbeitsablauf-Orchestration-Dienstmodul Ausdrücke in bedingten Sequenzflüssen, um festzustellen, ob die nächste Aufgabe ausgeführt werden soll. Wenn der Ausdruck als „true“ evaluiert wird oder der Sequenzfluss keine Bedingung enthält, wird das Arbeitsablauf-Orchestration-Dienstmodul gestartet und übergibt die Eingabedaten an die verbundene Aufgabe. Die Aufgabe verwendet die Eingabedaten, um eine einzelne Arbeitseinheit abzuschließen.
Wenn eine Mapping-Aufgabe ein Mapping ausführt, sendet sie dieses zur Optimierung und Kompilierung an den LDTM. Der LDTM übergibt das kompilierte Mapping zur Ausführung an eine DTM-Instanz.
Wenn eine Aufgabe die Verarbeitung einer Arbeitseinheit abgeschlossen hat, übergibt die Aufgabe die Ausgabedaten zurück an das Arbeitsablauf-Orchestration-Dienstmodul. Das Arbeitsablauf-Orchestration-Dienstmodul nutzt diese Daten, um Ausdrücke in bedingten Sequenzflüssen zu evaluieren, bzw. es verwendet diese Daten als Eingabe für die verbleibenden Aufgaben im Arbeitsablauf.
Datenobjekt-Cache-Manager
Der Datenobjekt-Cache-Manager speichert Daten in einer Anwendung im Cache.
Wenn Sie die Zwischenspeicherung von Datenobjekten aktivieren, kann der Datenobjekt-Cache-Manager logische Datenobjekte und virtuelle Tabellen in einer Datenbank zwischenspeichern. Der Datenobjekt-Cache-Manager speichert die Daten zum ersten Mal zwischen, wenn Sie die Anwendung aktivieren. Die optimale Cache-Leistung ist von der Geschwindigkeit und Leistung der Datenbank abhängig.
Der Datenobjekt-Cache-Manager verwaltet standardmäßig den Zwischenspeicher eines Datenobjekts in der Datenobjekt-Cache-Datenbank. Der Datenobjekt-Cache-Manager erstellt die Cache-Tabellen und aktualisiert den Cache. Er erstellt eine Tabelle für jedes zwischengespeicherte logische Datenobjekt bzw. jede virtuelle Tabelle in einer Anwendung. Objekte in einer Anwendung verwenden die gleichen Cache-Tabellen, Objekte in unterschiedlichen Anwendungen jedoch nicht. Wenn ein Datenobjekt in mehreren Anwendungen verwendet wird, erstellt der Datenobjekt-Cache-Manager für jede Instanz des Datenobjekts eine eigene Cache-Tabelle.
Ergebnissatz-Cache-Manager
Der Ergebnissatz-Cache-Manager verwaltet zwischengespeicherte Ergebnisse für SQL-Datendienstabfragen und Webdienstanfragen. Ein Ergebnissatz-Cache ist das Ergebnis einer DTM-Instanz, die eine SQL-Abfrage für einen SQL-Datendienst bzw. eine Webdienstabfrage für einen Webdienstvorgang ausführt.
Wenn Sie das Caching von Ergebnissätzen aktivieren, erstellt der Ergebnissatz-Cache-Manager speicherinterne Caches für die temporäre Speicherung der Ergebnisse einer DTM-Instanz. Wenn der Ergebnissatz-Cache-Manager mehr als den zugeordneten Platz benötigt, speichert er die Daten in Cache-Dateien. Der Ergebnissatz-Cache-Manager speichert die Ergebnisse für einen bestimmten Zeitraum zwischen. Wenn ein externer Client dieselbe Anfrage stellt, bevor der Cache abläuft, gibt der Ergebnissatz-Cache-Manager das zwischengespeicherte Ergebnis zurück. Wenn ein Cache nicht vorhanden oder abgelaufen ist, startet der Datenintegrationsdienst eine DTM-Instanz, um die Anfrage zu bearbeiten, und speichert dann die zwischengespeicherten Ergebnisse.
Wenn der Ergebnissatz-Cache-Manager die Ergebnisse nach Benutzer speichert, gibt der Datenintegrationsdienst nur Ergebnisse aus dem Cache an denjenigen Benutzer zurück, der die SQL-Abfrage ausgeführt oder die Web-Dienst-Anfrage gesendet hat. Der Ergebnissatz-Cache-Manager speichert den Ergebnis-Cache für SQL-Datendienste nach Benutzer. Der Ergebnissatz-Cache-Manager speichert den Ergebnis-Cache für Web-Dienste nach Benutzer, wenn der Web-Dienst WS-Security nutzt. Der Ergebnissatz-Cache-Manager speichert den Cache nach dem Benutzernamen, der im Token username der Web-Dienst-Anfrage angegeben wird.
Bereitstellungsmanager
Der Bereitstellungsmanager ist die Komponente des Datenintegrationsdiensts, die die Anwendungen verwaltet. Wenn Sie eine Anwendung bereitstellen, verwaltet der Bereitstellungsmanager die Interaktion zwischen dem Datenintegrationsdienst und dem Modellrepository-Dienst.
Der Bereitstellungsmanager startet und beendet die Anwendung. Bei der Bereitstellung einer Anwendung validiert der Bereitstellungsmanager die Mappings, Arbeitsabläufe, Web-Dienste und SQL-Datendienste in der Anwendung und den davon abhängigen Objekten.
Nach der Validierung speichert der Bereitstellungsmanager die Laufzeitmetadaten der Anwendung im Modellrepository. Die Laufzeitmetadaten enthalten Informationen für die Ausführung der Mappings, Arbeitsabläufe, Web-Dienste und SQL-Datendienste in der Anwendung.
Der Bereitstellungsmanager erstellt für jede Anwendung einen separaten Satz an Laufzeitmetadaten im Modellrepository. Wenn der Datenintegrationsdienst Anwendungsobjekte ausführt, fragt der Bereitstellungsmanager die Laufzeitmetadaten ab und stellt Sie dem DTM zur Verfügung.
Logischer Data Transformation Manager
Der logische Data Transformation Manager (LDTM) optimiert und kompiliert Jobs.
Der LDTM kann die folgenden Optimierungen durchführen:
- Filtern von Daten, um die Anzahl der zu verarbeitenden Zeilen zu reduzieren
Der LDTM wendet Optimierungsmethoden an, um Daten zu filtern und die Anzahl der zu verarbeitenden Zeilen zu reduzieren. Beispielsweise kann der LDTM mithilfe von früher Auswahloptimierung einen Filter näher an die Quelle verschieben. Mit der Pushdown-Optimierung kann Umwandlungslogik in eine Datenbank übertragen werden. Mit der kostenbasierten Optimierungsmethode kann die Join-Verarbeitungsreihenfolge geändert werden. Wenn Sie ein Mapping entwickeln, können Sie eine Optimierungsebene auswählen, die bestimmt, welche Optimierungsmethoden der LDTM auf das Mapping anwenden kann.
- Bestimmen der Partitionierungsstrategie zur Maximierung der Parallelverarbeitung.
- Wenn Sie über die Partitionierungsoption verfügen, kann der Datenintegrationsdienst den Parallelismus für Mappings und Profile maximieren. Der LDTM legt dynamisch die optimale Anzahl von Partitionen für jede Pipeline-Stage und die beste Methode zur Neuverteilung der Daten auf die einzelnen Partitionspunkte fest.
- Legen Sie den Datenverschiebungsmodus fest, um die Verarbeitung der ASCII-Zeichen zu optimieren.
Der LDTM legt fest, ob der ASCII- oder Unicode-Datenverschiebungsmodus für Mappings verwendet wird, die aus einer Einfachdatei oder relationalen Quelle lesen. Den Datenverschiebungsmodus legt der LDTM basierend auf den Zeichensätzen fest, die das Mapping verarbeitet. Wenn ein Mapping alle ASCII-Daten verarbeitet, wählt der LDTM den ASCII-Modus aus. Im ASCII-Modus nutzt der Datenintegrationsdienst zum Speichern jedes Zeichens ein Byte, wodurch die Mapping-Leistung optimiert werden kann. Im Unicode-Modus nutzt der Dienst zwei Byte pro Zeichen.
Nach der Optimierung eines Mappings kompiliert der LDTM das optimierte Mapping und macht es für den Data Transformation Manager (DTM) zur Ausführung verfügbar.