CloudDatenverarbeitung/Big DataEntwicklungManagementTests

Im Test: Talend Enterprise Data Integration 5.4.1

Autor: Dr. Götz Güttich

Ein typischer Datentransformationsjob im Talend Data Integration-Studio. Der Job liest Daten aus einer MySQL-Datenbank ein, wandelt sie mit einer Mapping-Funktion entsprechend der Anforderungen im Unternehmen um und exportiert sie dann nach Salesforce.
Ein typischer Datentransformationsjob im Talend Data Integration-Studio. Der Job liest Daten aus einer MySQL-Datenbank ein, wandelt sie mit einer Mapping-Funktion entsprechend der Anforderungen im Unternehmen um und exportiert sie dann nach Salesforce.

In Unternehmen wimmelt es von unterschiedlichen Daten aus den verschiedensten Quellen. Einen bestmöglichen Nutzen kann eine Organisation aus diesen Daten aber nur dann ziehen, wenn sie in möglichst vielen Umgebungen verwendbar sind. Deswegen spielen Datenintegration und Datenaustausch zwischen verschiedenen Systemen und Anwendungen heutzutage eine wesentliche Rolle. Talend liefert mit der “Enterprise Data Integration” eine Lösung, die sich genau dieser Problematik annimmt. Wir haben das Produkt im Testlabor genau unter die Lupe genommen.

Die Komplexität der Unternehmensnetze und der damit verbundenen Dienste und Anwendungen steigt. Deswegen sind leistungsfähige Lösungen erforderlich, die Daten aus verschiedenen Quellen – wie beispielsweise Dateien, Datenbanken und ähnlichem – einlesen, entsprechend der Anforderungen des Zielsystems umwandeln und anschließend in passender Form in das genannte Zielsystem exportieren. In diesem Zusammenhang unterscheidet man zwischen zwei verschiedenen Ansätzen: “ETL” (Extract, Transform, Load) bedeutet, dass das Datenintegrationssystem die relevanten Daten zunächst aus den verschiedenen Quellen im Unternehmen extrahiert, sie dann – wie eben beschrieben – in das Format des Zielsystems transformiert und sie zum Schluss in die Zieldatenbank lädt. In diesem Fall übernimmt das Produkt zur Datenintegration sämtliche Arbeiten, die beim Umwandeln der Informationen anfallen, so dass die Quell- und Zielsysteme nur während der Lese- beziehungsweise Schreibvorgänge belastet werden.

Die Alternative nennt sich “ELT” (Extract, Load, Transform) und geht einen anderen Weg. Hier extrahiert die Integrationslösung die Daten und schreibt sie ins Zielsystem. Die Anpassung der Informationen an die Anforderungen des Targets erfolgt dann vor der Benutzung direkt in der Zieldatenbank. Bei diesem Ansatz liegt der größte Arbeitsaufwand folglich bei der Destination. Dafür können die Integrationsdienste bei ELT deutlich einfacher gehalten werden als bei ETL. Talend Enterprise Data Integration unterstützt beide Ansätze und lässt sich deshalb flexibel in Umgebungen mit allen Anforderungen einsetzen.

Architektur

Die Talend Enterprise Data Integration-Lösung besteht aus mehreren unterschiedlichen Komponenten. Zunächst einmal ist in diesem Zusammenhang das “Talend Data Integration Studio” zu nennen. Mit Hilfe dieses Studios – einer Entwicklungsumgebung, die auf Eclipse aufsetzt – sind Benutzer dazu in der Lage, Jobs zu generieren, die den Import und Export der Daten, ihre Umwandlung und vieles mehr übernehmen. Da Talend Enterprise Data Integration mehrbenutzerfähig ausgelegt wurde, können in einer Unternehmensumgebung viele Studios parallel zum Einsatz kommen. Auf die Funktionsweise des Talend Data Integration Studios gehen wir gleich noch genauer ein.

Die Konfigurationsseite des Talend Administration Centers markiert die nicht richtig konfigurierten Komponenten rot
Die Konfigurationsseite des Talend Administration Centers markiert die nicht richtig konfigurierten Komponenten rot

Das Herzstück der Talend Enterprise Data Integration ist das so genannte Talend Administration Center. Dabei handelt es sich um einen Anwendungsserver auf Web-Basis. Er kommt zum Einsatz, um die Ausführung der Jobs zu steuern. Dabei lassen diese sich nicht nur manuell oder periodisch starten, sondern auch durch Trigger auslösen. Darüber hinaus sorgt das Administration Center dafür, dass die zuständigen Mitarbeiter dazu in der Lage sind, die Verteilung der Jobs auf die “Execution Server” im Unternehmen zu überwachen. Letztere führen die Jobs aus und laufen an beliebigen Stellen im Netz. Bei Bedarf lassen sich auch mehrere Execution Server zu virtuellen Servern zusammenfassen. Es besteht außerdem die Option – beispielsweise zu Testzwecken – einzelne Jobs direkt von einem Studio auf einen Execution Server zu übertragen.

Das Talend Administration Center verfügt über zwei Repositories. Das erste davon umfasst die Projektmetadaten wie die definierten Jobs und basiert auf einem SVN-Server. Das zweite verwendet einen Datenbankserver und enthält administrative Metadaten wie Benutzerkonten und Zugriffsrechte.

Der Test

Im Test installierten wir zunächst die Talend Enterprise Data Integration in unserem Netz und nahmen das Produkt in Betrieb. Es ist möglich, die ganzen eben erwähnten Komponenten auf unterschiedliche Systeme im Netz zu verteilen, um so die Performance zu verbessern. Für unsere Testinstallation genügte es aber, alle Bestandteile (mit Ausnahme der Monitoring-Datenbank) auf einem einzigen Rechner unterzubringen.

Da sich den verschiedenen Benutzerrollen jeweils viele Rechte zuordnen lassen, ist es möglich, die Zugriffsrechte der User sehr fein zu begrenzen
Da sich den verschiedenen Benutzerrollen jeweils viele Rechte zuordnen lassen, ist es möglich, die Zugriffsrechte der User sehr fein zu begrenzen

Sobald das System lief, nahmen wir zunächst den Funktionsumfang des Talend Data Integration Studios unter die Lupe. Dabei legten wir unseren Fokus vor allem auf die ETL-Funktionen und den Support von Cloud-Diensten.

Anschließend wandten wir uns dem Talend Administration Center zu. Hier spielte der allgemeine Funktionsumfang eine wichtige Rolle. Wir untersuchten bestimmte, besonders interessante, Funktionalitäten aber auch im Detail. Dazu gehörten die “Execution Plans”, die “Activity Monitoring Console” (AMC) und die “Error Recovery”-Features.

Installation

Um Talend Enterprise Data Integration in Betrieb zu nehmen, ist es zunächst erforderlich, auf dem betroffenen Rechner eine aktuelle Java-Version einzuspielen. Talend gibt an, dass Java 6 oder 7 mit mindestens der JDK 1.6 Update 11 oder neuer benötigt wird. Zusätzlich müssen die Verantwortlichen die “JAVA_HOME”-Variable setzen, damit die Talend-Lösung die Java-Installation auch finden kann. Nachdem das erledigt war, installierten wir auf dem gleichen System – einem Rechner mit einer Intel-Quad-Core-CPU mit 2,4 GHz Taktfrequenz, acht GByte RAM und 300 GByte freiem Festplattenplatz – einen SVN-Server, der später als Repository zum Einsatz kam. An dieser Stelle verwendeten wir den VisualSVN-Server. Anschließend legten wir auf dem SVN-Server einen Benutzer an und merkten uns die URL, über die wir später eine Verbindung zwischen der Talend-Installation und dem SVN-Server herstellen wollten.

Jetzt konnte es daran gehen, die Talend-Software selbst einzuspielen. Dazu riefen wir den Talend-Installer auf, der im Wesentlichen die Lizenzbedingungen anzeigt und fragt, welche Komponenten der Data Integration-Lösung auf dem Zielsystem zum Einsatz kommen sollen. Da wir – wie bereits erwähnt – alles auf einem Rechner einspielen wollten, selektierten wir sowohl das Administration Center, als auch den Log Server, die Command Line, die Runtime, den Job Server, die Server Services und das Studio. Im nächsten Schritt fragte der Assistent dann nach den Zugangsdaten für das Web-basierte Administration Center und den Ports, über die die einzelnen Data Integration-Komponenten im Betrieb miteinander kommunizierten.

Nachdem alle Angaben gemacht waren, lief die Installation durch und wir konnten uns mit unseren zuvor definierten Login-Daten über die URL http://{Name des Servers}:8080/org.talend.administrator beim Webinterface des Administration Centers anmelden. Dort wechselten wir zuerst in die Benutzerverwaltung (auf den allgemeinen Funktionsumfang des Tools gehen wir später noch genauer ein) und gaben dem Admin-User zunächst einmal alle Rechte, damit wir sämtliche Management-Aufgaben mit diesem Benutzerkonto durchführen konnten. Außerdem legten wir zu diesem Zeitpunkt noch ein normales Benutzerkonto für die tägliche Arbeit an.

Danach riefen wir den Konfigurationsbereich auf. Hier lassen sich die einzelnen Komponenten der Data Integration verwalten. In der Übersichtliste sind funktionierende Komponenten grün gekennzeichnet, während fehlerhafte Konfigurationen rot markiert wurden. Nach dem Setup fanden sich an dieser Stelle viele rote Einträge, da zu diesem Zeitpunkt etliche Konfigurationsschritte noch nicht durchgeführt worden waren. In der Regel reicht es zu diesem Zeitpunkt, die fehlenden Pfad- beziehungsweise Login-Angaben zu den benötigten Diensten (wie beispielsweise dem zuvor installierten SVN-Server) einzutragen, danach werden die Einträge der betroffenen Services grün und stehen für die tägliche Arbeit zur Verfügung.

Nach dem Vervollständigen der Konfigurationseinträge erzeugten wir, ebenfalls im Administration Center, ein erstes Projekt und vergaben die Zugriffsrechte darauf. So erlaubten wir beispielsweise unserem neu angelegten Benutzerkonto, mit dem Projekt zu arbeiten. Unser Testanwender war dann im Betrieb dazu in der Lage, sich mit dem Talend Studio bei diesem Projekt anzumelden und damit zu arbeiten. Im Produktiveinsatz gibt es natürlich viele Projekte mit vielen Anwendern, die parallel zueinander aktiv sind.

Zum Abschluss des Setups riefen wir nun noch die Funktion “Activity Monitoring” auf und stellten dort eine Verbindung zu einem in unserem Netz vorhandenen SQL-Server her, damit das Tool seine Monitoring-Daten in einer Datenbank (die wir zuvor manuell angelegt hatten) ablegen konnte. Die dazugehörigen Datenbanktabellen erzeugten wir mit Hilfe eines Talend-Jobs. Damit war die Software einsatzfähig.