Ein Talend Überblick für Informatica PowerCenter-Entwickler: Teil 1

Ich habe kürzlich als Customer Success Architect bei Talend angefangen. Es ist meine Aufgabe, die Datenstrategien unserer Kunden bei der Nutzung von Talend mit Architekturleitlinien und Best Practices zu unterstützen. Bevor ich zu Talend stieß, war ich an mehreren Data Warehouse-Implementierungen beteiligt, bei denen Informatica PowerCenter das bevorzugte ETL-Tool war. Der Übergang von einer Technologie zu einer anderen kann eine ziemliche Herausforderung darstellen. Aber statt jetzt zu versuchen, PowerCenter-Abläufe in Talend zu „replizieren“, wollen wir einfach mal einen Schritt zurücktreten und nachvollziehen, wie Talend funktioniert, welche Funktionalitäten die Lösung bietet und wie sie sich von PowerCenter unterscheidet. In diesem Blog schildere ich meinen persönlichen Wechsel von Informatica zu einer moderneren Integrationsplattform und zeige auf, wie auch Sie mit minimalem Migrationsaufwand den Schritt von Informatica zu Talend vollziehen können.

Talend vs. Informatica PowerCenter: Wo liegt der Unterschied?

Beide Tools leisten im Prinzip dasselbe – sie bewegen Daten von der Source zum Target. Nur wie sie das machen, unterscheidet sich klar voneinander. Beide Ansätze haben ihre Vorteile. Deshalb sollten Sie sich über diese im Klaren sein, bevor Sie darangehen, Ihren ETL-Job zu designen.

Als erstes muss man erkennen, dass beide Tools zwar über eine grafische Benutzeroberfläche verfügen und Daten von der Source extrahieren, um sie dann im Target zu laden, dass sich aber ihre Implementierungen unterscheiden. Talend generiert nativen Java-Code, der überall ausgeführt werden kann, während PowerCenter Metadaten generiert, die in einem RDBMS-Repository gespeichert werden, auf das die proprietäre Engine des Unternehmens zugreift.

Wichtig ist dabei, dass Talend als Code-Erzeuger sowohl als ETL (auf dem eigenen Standalone-Server) als auch als ELT-Engine (native Ausführung auf dem Target-Server) lauffähig ist. Der von Talend generierte Java-Code kann auf jeder Plattform ausgeführt werden, die Java unterstützt. Das funktioniert auf einem Server in Ihrem Rechenzentrum, in der Cloud oder sogar auf Ihrem Laptop. Zwar stellen beide Plattformen Komponenten bereit, welche die meisten für die Datenintegration nötigen Aufgaben abdecken, es gibt aber Situationen, in denen individuelle Lösungen erforderlich sind. In solchen Fällen wird oft auf individuell geschriebenen Code zurückgegriffen – ein Prozess, den ich bei PowerCenter für gleichermaßen beschwerlich und ineffizient halte. Im Gegensatz dazu kann man bei Talend seine eigenen individuellen Komponenten in Java erstellen und sie völlig stressfrei in Studio integrieren. Das sind wichtige Erwägungen, wenn man einen Datenintegrationsjob designen will.

Jetzt herunterladen >> Talend Open Studio for Data Integration

Wie designe ich meine Jobs?

Der andere wichtige Unterschied zwischen den beiden Tools liegt darin, wie Jobs aufgebaut werden. Beginnen wir mit PowerCenter. Dort entwickelt man als erstes ein Mapping (was nichts anderes ist, als ein „Datenfluss“). An diesem Punkt werden das Mapping zwischen Source und Target und die Transformationslogik definiert. Wurde das Mapping validiert und die entsprechenden Metadaten sind im Repository gespeichert, werden Sessions und Workflows („Prozessabläufe“) erstellt. Anschließend werden physikalische Verbindungen zu den Source- und Target-Objekten zugeordnet, Aufgaben werden in Reihenfolge der Ausführung angeordnet und die Abläufe für Fehlerbehandlung und Benachrichtigung können implementiert werden.

Bei Talend werden die Daten- und Prozessflüsse nahtlos und gemeinsam implementiert. Zur Definition des „Prozessflusses“ wird ein Job erstellt, der zahlreiche Komponenten nutzt, die mithilfe spezieller Funktionalitäten den „Datenfluss“ implementieren. Der „Prozessfluss“ wird dabei über „Trigger“ implementiert, während der „Datenfluss“ zwischen einzelnen Komponenten nach einem bestimmten Schema „Reihen“ nutzt.

Um das zu verdeutlichen, wollen wir das PowerCenter-Konzept mit den entsprechenden Talend Abläufen vergleichen:

Informatica PowerCenter

Talend Studio

Beschreibung

Repository

Project Repository

Das PowerCenter Repository und das Talend Project Repository enthalten wiederverwendbare Metadatenobjekte (wie Jobs, Datenbankanbindungen, Schemadefinitionen, etc.). Bei Talend sind diese nahtlos mit einem SVN- oder einem GIT-Quellcode-Kontrollsystem integriert, statt ein proprietäres Kontrollsystem zu verwenden.

Ordner

Ordner

Ordner helfen, Objekte anhand ihrer Funktionalität zu organisieren. Im Gegensatz zu Talend können bei PowerCenter keine Unterordner erstellt werden.

Workflow

Job

Der Workflow oder Job implementiert den ETL-Prozessfluss mit allen definierten Verbindungen und Abhängigkeiten. Bei Talend repräsentiert ein Job dabei sowohl den Prozessfluss, als auch den Datenfluss.

Worklet/Wiederverwendbare Session

Joblet

Eine Kombination verschiedener Aufgaben, die über Workflows/Jobs hinweg wiederverwendbar ist. Sie lässt sich bei wiederverwendbarem Code wie Fehlerbehandlung, Benachrichtigungen oder wiederholbaren Prozessen nutzen.

Session & Mapping

Komponenten

PowerCenter definiert Verbindungen, Dateispeicherorte und Fehlerbehandlung separat in einer Session, während bei Talend die Mapping- und Session-Funktionen integriert sind. Die Implementierung erfolgt in einer oder mehreren Komponenten, die durch einen Prozess- oder Datenfluss verknüpft sind.

Transformationen

Komponenten

Talend verfügt über ein umfangreiches Komponentenarchiv, das verschiedene Transformationen unterstützt. So ist zum Beispiel eine der meistverwendeten Komponenten, tMap, eine Kombination aus den Informatica-Transformationen Expression, Lookup, Router und Joiner.

Source und Target – Definitionen und
Verbindungen

Repository-Metadaten

Bei Talend lassen sich Schemadefinitionen und Verbindungen in jeder Komponente hartcodieren. Es empfiehlt sich aber als Best Practice, die Definition in den Repository-Metadaten vorzunehmen und diese dann in den Komponenten wiederzuverwenden.

Ein genauer Blick auf die Schnittstelle

Werfen wir abschließend einen Blick auf Talends Eclipse-basierte Studio-Schnittstelle und versuchen wir

  1. Im Repository (PowerCenter: Navigator) werden alle Ressourcen wie Ordner, Jobs, Schemadefinitionen und Verbindungen, Parameter und Variablen festgelegt.
  2. In der Design Area (PowerCenter: Workspace) werden Jobs assembliert.
  3. Die Kontext-Tabs unten werden genutzt, um die Komponenten zu konfigurieren und zu dokumentieren und den Job auszuführen. Diese Lösung kombiniert verschiedene Features aus den Tools PowerCenter Designer und Workflow Manager.
  4. Die Palette (PowerCenter: Transformation Toolbar) ist ein Archiv aller verfügbaren Komponenten.
  5. Perspective bestimmt das gesamte Layout von Studio sowie die Anordnung der verschiedenen Bereiche innerhalb von Studio. Jedes wichtige Talend Produkt hat seine eigene Perspektive. Das bietet den großen Vorteil, dass der Entwickler je nach Produkt nicht zwischen mehreren Tools hin und her wechseln muss. Die über alle Produkte hinweg einheitliche Benutzeroberfläche verbessert zudem die Produktivität des Entwicklers.

Nach mehreren Jahren als Informatica-Architekt war die wichtigste Lektion für mich, dass jede Technologie nur so gut sein kann, wie die Best Practices, in die sie eingebettet ist. Auch Talend macht da keine Ausnahme. Wenn man den vollen Wert seiner Talend Investition realisieren will, muss man Best Practices implementieren und diesen als Teil des Software Development Lifecycle folgen. Hier ein paar nützliche Links zu Informationen über Talend Job Design Patterns und Best Practices: Part 1Part 2, Part 3 and Part 4.

Resümee

Meine Reise mit Talend hat gerade erst begonnen. Was ich aber bereits gelernt habe ist: Sobald man den Unterschied zwischen PowerCenter und Talend verstanden hat und sich mit der Funktionsweise von Talend und den Best Practices des Tools vertraut gemacht hat, kann man seinem Unternehmen einen unglaublichen Nutzen bieten, wenn man Talend als Datenintegrationsplattform, einsetzt. Auf der nächsten Etappe meiner Reise mit Talend befasse ich mich mit der Talend Big Data Plattform. Nur so viel dazu: Was ich bis jetzt davon gesehen habe, ist ziemlich spannend. Mehr dazu in meinem nächsten Blog-Post.

Jetzt herunterladen >> Talend Open Studio for Data Integration

Sind Sie bereit, mit Talend durchzustarten?