Evaluation of ETL Tools


  • 2013-01-12
  • Brief Survey on common Extract, Transform, Load (ETL) Tools
  • #etl
  • #datawarehouse
  • #pragmatic


Zusammenfassung

Zur Diskussion, für die ordnungsgemäße Durchführung des ETL-Prozesses für das Extrahieren und Bereinigen von Daten aus zwei Datenbanken sowie externen Quellen (HTML, XML-Dateien) mit anschließendem Laden in ein integriertes Data Warehouse eines DVD Stores, stehen die zwei Open Source Tools CloverETL und Talend Open Studio zur Auswahl. Die Evaluierung zeigt, dass CloverETL in 5 von 7 Themenbereichen des adaptierten ETL Tool Surveys besser abschneidet, wobei jedoch Talend Open Studio mit mehr Standardfunktionalitäten für den Alltagseinsatz aufwartet.


1. Einführung

Aufbau des Papers

Der Aufbau des Papers gliedert sich wie folgt: Zuerst werden grundlegende Informationen zu den evaluierten Tools und Firmen beschrieben. Als Nächstes werden die Kriterien, mit welchen die Tools bewertet wurden, detailliert mit ihren jeweiligen Gewichtungen erklärt. Anschließend wird die Evaluation der Tools durchgeführt und abwechselnd CloverETL und Talend Open Studio verglichen. Schließlich wird ein Fazit über die durchgeführte Evaluation gezogen und dies mit graphischer Darstellung, welche die erreichten Punktzahlen beider Tools repräsentiert, veranschaulicht.

ETL-Prozess

ETL (Extraction, Transformation, Loading) ist ein spezifischer Bereich im Business Intelligence (BI) um neue Daten einem Data Warehouse zuzufügen. Erstens werden hierbei Daten von operativen Systemen (interne Datenquellen) oder von externen Datenquellen wie firmenfremden Datenbanken extrahiert. Zweitens werden diese Daten in nutzbare Daten unter Berücksichtigung diverser Kriterien wie Konsistenz, Redundanz, Persistenz sowie Relevanz für den Betrachter und Entscheidungsträger (Subjekte) transformiert. Weiterhin spielt in diesem zweiten Schritt die Aggregation und Anreicherung mit Metadaten in der Praxis eine wichtige Rolle. Drittens werden die bereinigten Daten in ein vorhandenes Data Warehouse bzw. einen Operational Data Store bei erweiterten Architekturen geladen, um für weitere Verarbeitungsschritte in geeigneter Form zur Verfügung zu stehen, wie etwa einer Analyse mithilfe von OLAP.

2. Tools

Talend Open Studio

Das in diesem Bericht evaluierte Programm Talend Open Studio, wird von dem französischen Softwarehersteller Talend angeboten. Die erste Version des Talend Open Studio wurde im Oktober 2006 veröffentlicht. Im Januar 2008 wurde das ETL-Softwaretool über 1 Million mal heruntergeladen. Eineinhalb Jahre später belief sich die Downloadzahl bereits auf 5 Millionen und die Community wuchs auf über 300.000 Mitglieder an. Das Unternehmen Talend bietet zwei verschiedene Versionen für die Datenintegration an. Zum einen die kommerzielle Talend Integration Suite und zum anderen Talend Open Studio. Letzteres wird unter der Lizenz GNU GPLv2 bereitgestellt. Aktuell steht das Tool in der Version 4.2.1 zum Download bereit. Anhand dieses Versionsstandes erfolgte auch die Evaluation in diesem Bericht. Talend Open Studio basiert auf der Java-Entwicklungsumgebung Eclipse. Projekte können in der Programmiersprache Java oder in der Skriptsprache Perl ausgeführt werden.

CloverETL Community Edition

Das zweite Programm, welches in diesem Bericht evaluiert wurde, nennt sich CloverETL. Die Software wurde bereits 2002 entwickelt und führte im Juli 2005 zur Gründung des Unternehmens Javlin Data Solutions Inc. in den USA. Seitdem fokussiert sich das mittlerweile 50 Mitarbeiter starke Unternehmen mit 4 Niederlassungen (2 in den USA, 2 in CZ) auf die Weiterentwicklung des Tools und bietet nebenbei lediglich typische IT Services in fachlich komplementären Bereichen wie Applikationsentwicklung, Service Management, Performance Management und IT Outsourcing an. Im Management des eigenen ETL-Tools wurde versucht allen Kundengruppen vom Einzelunternehmen bis Global Player gerecht zu werden - durch eine hohe Produktdiversifikation mittels einer Suite: CloverETL-Plugin, CloverETL Community Edition, Desktop Edition, Enterprise Server Editions (Basic, Standard, Corporate) und einer Cluster-Variante mit Features wie Load Balancing, Failover und Autoscaling. Die getestete Stand-Alone Community Edition befindet sich aktuell in der Version 3.0.1 und steht unter der GNU Lesser General Public License der Free Software Foundation. CloverETL ist ein Java-basiertes Programm und Framework für die Datenintegration und Durchführung der Transformation von Daten. Es beruht auf Komponenten und folgt dem Konzept der Transformationsgraphen, die aus individuellen Knoten und Komponenten bestehen. Es kann einfache sowie komplexe Operationen durchführen. Alle Transformationen können als eine Menge von verbundenen Knoten definiert werden, durch welche die Daten laufen. CloverETL kann als eigenständige Anwendung oder eingebettet in ein größeres Projekt verwendet werden.

3. Kriterien

Die Evaluation beider Tools erfolgt nach den Kriterien des ETL Tool Surveys. Die Tools konnten bei den einzelnen Kriterien Punkte von eins bis fünf erreichen. Um die Schwächen und Stärken besser zu analysieren wurden den Kriterien zusätzlich unterschiedliche Gewichtungen von eins bis fünf zugeteilt. Die Kriterien beschreiben den Funktionsumfang und das Handling des ETL-Tools, sie unterteilen sich in folgende Bereiche: Allgemeine Kriterien, ETL-Funktionalität, Benutzerfreundlichkeit, Wiederverwendbarkeit, Debugging, Real-Time, Konnektivität und das Tools selbst.

Grundlegende Kriterien zum Tool umfassen:

  • Plattformen (Gewichtung 3): Welche Plattformen unterstützt das ETL-Tool als Host? Java- basierte Tools erhalten 7 Punkte, weil Sie nahezu auf allen Betriebssystemen lauffähig sind.
  • Version: Wie lassen sich die ETL-Prozesse versionieren?
  • Engine und Code Generator: Ist das Tool engine-basiert oder hat es einen eigenständigen Code Generator?
  • Typ: Kann der Benutzer eine beliebige Anzahl an Aufgaben/Schritten zwischen Quelle und Ziel bei der Transformation definieren (Prozesskarte)?

Die ETL-Funktionalität beinhaltet das Arbeiten mit der Datenbank und Datenquellen, das Analysieren der Daten, das Transformieren der Datenstruktur und die Unterstützung von Tools und Funktionen. Unter dem Bereich der ETL-Funktionalität gliedern sich folgende Kriterien:

  • Aufteilen von Datenströmen/Verschiedene Ziele (Gewichtung 2): Ist es möglich eine Datenquelle einmal zu lesen und die Ergebnisse in zwei oder mehrere Tabellen zu laden?
  • Bedingtes Aufteilen (Gewichtung 2): Entspricht im Prinzip dem vorhergehenden Kriterium allerdings mit dem Unterschied, dass zum Beispiel bei mehr als 1000 Einträgen mittels einer Bedingung die Ergebnisse von Tabelle 1 auf Tabelle 2 übertragen werden.
  • Vereinigung (Gewichtung 5): Können Zeilen von verschiedenen Tabellen in einer Tabelle oder einem Datensatz vereinigt werden?
  • Drehung (Gewichtung 4): Ist es möglich die denormalisierten Daten zu transformieren, so dass Zeilen und Spalteneinträge vertauscht werden?
  • Rückdrehung (Gewichtung 4): Ist es umgekehrt möglich (hoch) normalisierte Daten wieder in denormalisierte Daten zu transformieren in dem die Spalten manipuliert werden?
  • Schlüsselsuchfunktion im Speicher (Gewichtung 1): Kann eine Tabelle komplett in den internen Speicher laden werden (ohne SQL-Joints verwenden zu müssen)?
  • Sich langsam ändernde Dimensionen (Gewichtung 3): Unterstützt das Tool sich langsam ändernde Dimensionen (manuell, halbautomatisch - mithilfe eine Wizards, vollautomatisch - out-of-the-box)?
  • Scheduler (Gewichtung 4): Gibt es einen ausgereiften Scheduler der Abhängigkeiten oder andere Parameter zur Aktivierung eines Jobs unterstützt?
  • Fehlerbehandlung bei einem Job (Gewichtung 5): Können Fehler, die während der Ausführung eines automatisierten Jobs entstehen, zuverlässig erkannt werden? Ist es möglich, so dass bestimmte Fehler automatisiert verarbeitet werden, z.B. durch Triggering eines anderen Prozesses?
  • Unterstützung von Data Mining Models (Gewichtung 4): Ist es möglich während des Ladeprozesses, verschiedene Arten von analytischen Funktionen aufzurufen (z.B. eine Vorschau oder Regression)?

Folgende Kriterien sollen die Usability des ETL-Tools darstellen:

  • Bedienbarkeit (Gewichtung 4): Wie schwer ist das Tool zu erlernen und kann es zur täglichen Arbeit eingesetzt werden?
  • WYSIWYG (Gewichtung 4): Wendet das Tool das Prinzip des What You See Is What You Get auf die dargestellten Informationen an?
  • GUI-Design (Gewichtung 4): Ist die Darstellung der graphischen Oberfläche des Programms ausgewogen und ergonomisch gestaltet?
  • Lernaufwand (Gewichtung 4): Wie sieht das empfohlene Training für Entwickler und Endanwender aus und gibt es ausreichend Übungen?
  • Vollständigkeit der GUI (Gewichtung 4): Wie viel Prozent der Programmfunktionalitäten lassen sich direkt über die grafische Oberfläche bedienen?

Den Aspekt der Wiederverwendbarkeit beschreiben die folgenden Kriterien:

  • Wiederverwendbarkeit von Komponenten (Gewichtung 3): Gibt es wiederverwendbare Komponenten und können diese neue Parameter verarbeiten?
  • Dekomposition (Gewichtung 4): Können Prozesse in kleinere Einheiten/Blöcke aufgeteilt werden (Modulare Programmierung)?
  • Benutzerdefinierte Funktionen (Gewichtung 4): Kann der Benutzer eigene Funktionen definieren und diese innerhalb des Prozesses anwenden?

Debugging wird repräsentiert durch:

  • Schritt für Schritt Debugging (Gewichtung 4): Kann der Prozess Schritt für Schritt durchlaufen werden?
  • Zeile für Zeile Debugging (Gewichtung 3): Schritt für Schritt Debugging anhand von Zeilen.
  • Breakpoints (Gewichtung 4): Können Breakpoints auf einen besonderen Prozessschritt oder eine Datenzeile gesetzt werden?
  • Watchpoints (Gewichtung 3): Können Watchpoints definiert werden, welche das laufende System anhalten, wenn eine bestimmte Bedingung erfüllt wurde?
  • Compiler/Valitator (Gewichtung 5): Ist es möglich den gesamten Prozess mit einem Mausklick zu validieren und wird über Fehler berichtet bzw. werden diese hervorgehoben?

Die Laufzeit-Kriterien gliedern sich wie folgt:

  • Mechanismen (Gewichtung 2): Wie werden Veränderungen im Quellsystem erkannt und aufgezeigt? (per Message Queuing, per Logging, per Triggering)?
  • On-Demand Datenintegration (Gewichtung 1): Kann man einen ETL-Prozess oder einen Teil davon als Web Service bereitstellen?

Die Konnektivität gliedert sich in folgende Unterpunkte:

  • Native Konnektivität (Gewichtung 5): Wie viele und welche Verbindungen werden unterstützt durch das ETL-Tool?
  • Unterstützung für joined tabels als Quelle (Gewichtung 3): Kann man zwei Tabellen mit grafischen Hilfsmitteln verknüpfen, also durch Ausführung eines Join’s auf die Datenbank?
  • Eingebaute Funktion zur Sicherung der Datenqualität (Gewichtung 5): Gibt es Funktionen zur Steuerung der Datenqualität?
  • Eingebaute Funktionen zur Datenvalidierung (Gewichtung 5): Hat das Tool Funktionen zur Datenvalidierung wie Duplikate entfernen, Anzeige fehlender oder inkorrekter Werte?
  • Datenprofilierung (Gewichtung 5): Gibt es Optionen zur Datenprofilierung (Eineindeutigkeit von Werten, Maximum-, Minimumfunktionen, Verteilungsfunktionen von Werten etc.)

4. Evaluation

Vorbemerkung: Im Folgenden wird anstelle CloverETL und Talend Open Studio die Abkürzung Clover und Talend synonym verwenden.

Allgemeines zum Tool

Beide Tools, Clover und Talend, verwenden das Eclipse Framework (Eclipse RCP) für ihre visuellen Editoren und nutzen die JRE für die Transformationsprozesse. Die Transformationsprozesse bei Talend können auch als Perl Script laufen. Aufgrund der Java-Basis von Eclipse RCP laufen beide Tools auf nahezu allen Betriebssystemen (vgl. JVM-Support). Zusätzlich besteht bei Clover die Möglichkeit der Installation als Eclipse Plug-In. Clover ist ein Metadaten-basiertes Tool. Es benötigt keinen Code Generator um seine Jobs ablaufen zu lassen. Veränderungen, die außerhalb des visuellen Editors erstellt wurden, werden, wenn der Designer neu geladen wird, direkt grafisch angezeigt. Die Transformationen werden als XML-Dateien gespeichert, welche leicht zu lesen und zu manipulieren sind. Die Transformationen können auch außerhalb des Clover Designers ausgeführt werden, mithilfe der Open Source Library Clover-Engine.

ETL-Funktionalitäten

In diesem Abschnitt wird auf die Funktionalität beider Tools genauer eingegangen. In Clover ist es möglich, eine Datenquelle einmalig einzulesen und in mehrere Zieltabellen aufzuteilen. Die Datenquelle kann man öfters verwenden. Konditionelles Aufteilen wird nicht direkt als Funktion zur Verfügung gestellt. Jedoch kann man, sofern ein ID-Attribut vorhanden ist, mittels der Filterfunktion eine Aufteilung bewirken und ab dem 1000. Eintrag eine andere Zieltabelle definieren. Mittels der Join-Komponenten kann man aus mehreren Quelldateien eine Zieldatei erstellen. Jedoch muss genau auf die Definition der Metadaten geachtet werden. Nur wenn die Metadaten der Quellen übereinstimmen lassen sie sich zu einer Tabelle zusammenfügen. Eine Tabelle bereits vor dem ETL-Prozess zu durchsuchen ist nicht möglich. Sie kann zwar in den internen Speicher geladen werden, muss aber zu Analyse prozessiert werden. Falls man dennoch die Quelldaten mit Clover analysieren möchte, müsste man einen Scheinprozess durchführen lassen, bei dem die Quelle nicht verändert wird. Das Verarbeiten von nicht strukturierten Daten ist nur soweit möglich solange sich Metadaten aus der Datenquelle definieren lassen. Jedoch lässt Clover dem Anwender einen sehr großen Spielraum. Langsam sich ändernde Dimensionen werden nur bedingt unterstützt. Falls sich die Dimension der Quelle verändert, muss der ETL-Prozess gestoppt werden und die Metadaten müssen manuell angepasst werden. Würde sich während des Prozesses die Quelle verändern, würde Clover einen Fehler melden und schlimmstenfalls den Prozess abbrechen. In jedem Fall wäre das Ergebnis nicht zufriedenstellend. Ein Scheduler ist nur in der Enterprise Edition erhältlich. Die Fehlerbehandlung in Clover ist sehr gut. Ein Fehler wird relativ genau beschrieben, jedoch kann er nicht zur Laufzeit des Prozesses behoben werden. Die Ausgabe der Konsole, eine eigene Fehlerausgabe und Meldungen bei allen Konfigurationsschritten weisen auf Fehler mittels einer Warnung hin. Eine Daten-Ursprungs-Analyse ist nur über Umwege möglich. Der Ursprung der Daten lässt sich nur anhand des Graphen ablesen. Lässt man sie nach dem Einlesen unverändert, kann man sie natürlich mit Hilfe der verschiedenen Komponenten von Clover analysieren und das Ergebnis in eine Datei einfügen. Eine automatische Dokumentation ist erst ab der Enterprise Edition verfügbar. Auch die Unterstützung von Data Mining Models steht nur bedingt zur Verfügung. Es existiert keine explizite Funktion für Data Mining Models. Analytische Funktionen werden in der Desktop Edition ausgiebiger als in der Community Edition angeboten. Debugging ist aber grundsätzlich erst nach dem Prozess möglich. Über Umwege könnte man jedoch die Zieldatei analysieren, zumindest mit einem Linux Betriebssystem. Mit Talend ist es nicht möglich Datenquellen einmalig einzubinden und öfters zu verwenden. Für jeden Job müssen die verwendeten Datenquellen so oft eingelesen werden, wie sie auch benötigt werden. Die bedingte Aufteilung von Tabellen wird von Talend nur auf CSV-Dateien unterstützt. Mit der Komponente tUnited ist die Vereinigung von Zeilen aus verschiedenen Tabellen möglich, tUnited ist aber sehr wählerisch mit den Datentypen, d.h. die Datentypen der Spalten müssen identisch sein. Die Transformation von Zeilen in Spalten wird bei Talend nur mit maximal zwei Spalten unterstützt. Das Ergebnis kann aber nur in eine Datei und nicht in eine Datenbank exportiert werden. Bei der Rückdrehung ist die Funktionalität analog zur Drehung. Eine Schlüsselsuchfunktion im Speicher wird von Talend nicht unterstützt. Für sich langsam ändernde Dimensionen wird die Funktion SCD (Slowly Changing Dimension) angeboten, jedoch nicht für alle Datenbanken. Die wichtigsten wie Orcale, DB2, MSSQL, MySQL werden unterstützt. Leider muss diese Funktion manuell eingestellt werden und kann nicht mit Hilfe eines Assistenten oder out-of-the-box benutzt werden. Talend hat einen internen Scheduler. Er stellt alle nötigen Einstellungsoptionen bereit, ist übersichtlich und sauber strukturiert. Des Weiteren kann auch der Windows Scheduler und Cronjobs verwendet werden um wiederkehrende Jobs auszuführen. Fehlerausgaben können in der Entwicklungsphase in der Konsole verfolgt werden. Es besteht die Möglichkeit ereignisgesteuerte Jobs zu erstellen, die bei Fehlern einen alternativen Weg gehen können. Die proaktive Analyse von Auswirkungen wird in der Talend Open Studio Edition nicht unterstützt, ebenso wie die Daten-Ursprung-Analyse. Die automatische Dokumentation wurde bei Talend von den Entwicklern auch in die Open Studio Version integriert. Mit der Funktion auto Doc wird eine Dokumentation automatisch erstellt. Leider kann diese nur auf dem lokalen Computer gespeichert werden. In der Talend Integration Suite kann der Benutzer die Dokumentation in einem gemeinsamen Repository speichern und sie auf diese Weise für alle Entwickler zur Verfügung stellen. Data Mining Models werden in der Talend Open Studio Edition nicht unterstützt. Die Unterstützung analytischer Funktionen wurde nicht getestet, steht aber auch in der Open Studio Edition zur Verfügung.

Usability

Da beide Tools auf Eclipse basieren, ist die Erstellung von Transformationsprozessen nahezu identisch. Nach einer kurzen Einarbeitungsphase können erste Jobs bei Talend leicht via Drag & Drop erstellt werden. Bei Clover gibt es einen sogenannten ETL-Designer, damit können leicht komponentenbasierte Graphen ebenfalls über Drag & Drop erstellt werden. Clover bietet bei der GUI eine bessere Übersicht, die meisten Funktionen können über die GUI erreicht werden. Für fortgeschrittene Anwender kann aber auch alles über die CLI bedient werden, bei Talend muss man für spezielle Komponenten auf die CLI zurückgreifen, aber ein Großteil der Funktionen ist ebenfalls über die GUI erreichbar. Die Benutzeroberfläche beider Tools ist benutzerfreundlich und ergonomisch gestaltet. Wer sich in Eclipse auskennt wird keine Schwierigkeiten mit dem Layout haben. Dies bedeutet auch, dass das umstrittene Perspektive-Konzept integriert ist. Der Lernaufwand für Entwickler und Endanwender wird bei beiden Tools mittels Tutorials, welche auf der Homepage zu finden sind erleichtert. Talend bietet dabei über 30 Webinars in den Sprachen Englisch, Französisch, Chinesisch. Wohingegen die Clover Webinars nur in Englisch vorhanden sind, dafür sind diese nach Lernstufen sortiert (Beginner, Intermediate, Advanced). Es gibt bei beiden Tools ein Wiki, sowie umfassende Manuals. Clover bietet zudem einen Quick-Start-Guide.

Wiederverwendbarkeit

In Talend gibt es mehrere Komponenten die wiederverwendbar sind, hierzu zählen z.B die Verbindungen zu Meta-Daten. Clover bietet ebenfalls die Wiederverwendbarkeit von Datenbank- und Meta-Datenverbindungen an. Zusätzlich können bei Clover auch Komponenten wiederverwendet werden. Für eine bessere Übersicht und Gruppierung der Jobs (Prozesse), können in Talend diese in sogenannte Subjobs aufgeteilt, oder in eigenständige Jobs ausgelagert werden. Die ausgelagerten Jobs kann man mittels der Komponenten tRunjobs, tPrejobs und tPostjobs starten. Bei Clover können Ergebnisse weiterverwendet werden, indem sie in neue Jobs eingespeist werden. Benutzerdefinierte Funktionen werden in der Talend Open Studio Variante und der CloverETL Community Edition nicht unterstützt. Dazu muss der Talend Open Profiler bzw. Clover Enterprise erworben werden. Bei Clover wird die Erstellung benutzerdefinierter Funktionen zusätzlich durch die eigene Programmiersprache Clover Transformation Language erschwert. Mit Clover ist es möglich Kommentarboxen frei in der Graphenansicht einzubinden, sodass auch mehrere Objekte eingeschlossen werden. Bei Talend Open Studio können nur Beschreibungen zu einzelnen Komponenten eingefügt werden, das Gruppieren mehrere Komponenten ist nicht möglich.

Debugging

Die Breakpoints können bei Talend zum einen direkt bei den Komponenten und zum anderen direkt im Code gesetzt werden. Talend bietet keine Watchpoints, was die Clover Community Edition ebenfalls missen lasst. Die Funktion Breakpoints wird ebenso von Clover zwischen den einzelnen Komponenten und im Code unterstützt. Außerdem bieten diverse Komponenten wie zum Beispiel der EmailSender ein eigenes Debugging um ihre eigene Funktionen abzudecken. Da Eclipse die Entwicklungsumgebung darstellt und Java die primäre Programmiersprache ist wird der Java-Compiler von Eclipse verwendet, dieser markiert Fehler direkt im Code. In der Konsole werden Fehler angezeigt. Genauere Informationen findet man im Clover-Log. Clover unterstützt Apache Commens Logging als Logging Layer, welches als Wrapper für folgende drei Subsysteme dienen kann: Java native logging package, Apache Log4J und das Logging Subsystem von Apache Commons Logging. Log4J wird aufgrund der größten Flexibilität empfohlen und ist seit der Version 2.0 im Bundle enthalten.

Laufzeit

Ob eine integrierte Stapelverarbeitung und Verarbeitung zur Laufzeit als Funktion angeboten wird, war nicht zu ermitteln. Veränderungen im Quellsystem werden dadurch erkannt, dass nach einer Veränderung die Metadaten nicht mehr stimmen und somit eine Warnung bzw. eine Fehlermeldung erscheint. Die On-Demand-Datenintegration steht nur in der Server-Edition zu Verfügung.

Konnektivität

Im Bereich nativer Konnektivität unterstützen beide Tools die gängigsten Verbindungen zu Datenbanken. Talend unterstützt in der von uns getesteten Version rund 30 verschiedene Datenbankanbindungen. Clover beinhaltet den JDBC Treiber was u.a. bedeutet, dass DB2, Informix, MSSQL, MySQL, Oracle, PostgreSQL unterstützt werden und dateibasierte Datenbanken dBase, FoxPro und FlashFiler. Joined Tables werden von Talend unterstützt, wenn die Tabellen mittels SQL-Anweisungen einem anderen Schema zugeordnet werden. Bei Clover ist prinzipiell alles möglich, da die Reader-Konrektoren im ETL-Designer mittels Join-Konnektoren in beliebiger Variation konsolidiert werden können. Einige Reader-Konnektoren unterstützen bei Clover inkrementelles Lesen, wie UniversalDBReader, XLSDataReader, DBFReader, DBInputTable. Bei Talend wird dies erst bei der Integration Suite unterstützt.

5. Ergebnis

Nach umfassender Evaluierung an Hand der 7 Themenbereiche des Kriterienkatalogs der zur Verfügung stehenden Funktionen bei den kostenfreien Varianten der Tools CloverETL Community Edition und Talend Open Studio ist festzustellen, dass beide Tools mit ungefähr der gleichen Gesamtpunktzahl von 413 zu 403 Punkten von insgesamt 671 möglichen Punkten abschließen. Wenig überraschend ist der absolute Punktegleichstand im ersten Themenbereich, welcher sich durch die gemeinsame Eclipse-Basis erklären lässt. Im Bereich Funktionalitäten wartet das deutlich jüngere Talend mit einem größeren Funktionsumfang auf, was nicht zuletzt dem Bedürfnis nach einem starken Wachstum der Community zur Anstrebung der Marktführerschaft dienlich sein sollte. Die CloverETL Community Edition enthält für den Alltag wichtige Features wie einen Scheduler, automatische Dokumentation oder Drehungen (Data Cube) für die Nutzer der mind. 10.000 Dollar schweren Enterprise-Varianten vor. Die Usability beider Produkte ist auf ähnlichem Niveau mit etwas ausgewogenerem Lernaufwand bei Clover. Beide Tools bieten leicht Möglichkeiten zur Wiederverwendbarkeit von Komponenten an, lassen aber in den freien Varianten das Schreiben von eigenen Funktionen oder Komponenten missen. Debugging funktioniert jeweils in ähnlich eingeschränkter Form. Die Laufzeiten des etablierteren Clovers sind bereits in der freien Variante besser, was auf einen ausgefeilteren Algorithmus im Backend schließen lässt. Im Bereich Konnektivität bieten sich ebenfalls leichte Vorteile für Clover, welches das wichtige Feature des inkrementellen Lesens beim Datenbank-Reader unterstützt, womit es insgesamt der verdiente Sieger ist, wenn auch ein Alltagseinsatz absolut nicht zu empfehlen ist. Talend würde sich über reine Testzwecke oder einmalige Datentransformationsprozesse hinaus aufgrund des Schedulers und der CronJobs deutlich besser für kleine Unternehmen eignen.


Bewertung

ETL Tools Evaluation

Dimensionen

ETL Tools Dimensionen

Referenzen