Ein Scheduler für den Informatica ETL-Prozess
Scheduling-Tools im Allgemeinen
Diese Tools stellen die einzelnen ETL-Aktivitäten (Jobs) im Regelfall als Kanten eines gerichteten, azyklischen Graphens (DAG) dar. Der so modellierte Ablauf wird als Workflow bezeichnet. Die Darstellung eines komplexeren Workflows in Informatica PowerCenter Workflow Manager ist in der nebenstehenden Abbildung gezeigt.
Informatica PowerCenter Workflow Manager vs. externes Scheduling-Tool
Werden die einzelnen ETL-Aktivitäten mithilfe von Informatica PowerCenter umgesetzt, ist eine Umsetzung des Schedulings mithilfe von Informatica PowerCenter Workflow Manager naheliegend. Jedoch lassen sich die einzelnen ETL-Aktivitäten auch extern auslösen und überwachen, was den Einsatz von dedizierten Scheduling-Tools wie beispielsweise Control-M von BMC oder Automic Automation von Broadcom (ehemals UC4) ermöglicht. Dies bietet den Mehrwert, dass Workflows komfortabler gesteuert und übersichtlicher überwacht werden können.
Scheduling-Tool ungleich Scheduling-Tool
BATCH PROCESSING TOOLS
Das Batch-Processing (die Stapelverarbeitung) geht auf die frühen Mainframe-Systeme zurück, denen die Rechenanweisungen als Stapel von Lochkarten übergeben wurden. Die Verarbeitung der Stapel erfolgte in einem nicht-interaktiven Prozess.
Zusätzliche Bedeutung gewann das Batch-Processing mit dem Aufkommen des Online-Processings, welches auf interaktive Weise durch Benutzeraktionen ausgelöste Prozesse verarbeitet. Werden rechenintensive Batch-Jobs auf einer Maschine ausgeführt, welche auch das Online-Processing übernimmt, so muss das Batch-Processing auf ein Zeitfenster gelegt werden, zu dem die Benutzeraktivität niedrig ist. Aus diesem Grund werden Batch-Jobs vorrangig nachts ausgeführt.
Mit Tools der Generation Batch-Prozessing lassen sich drei elementare Punkte bestimmen:
– Was für Jobs sollen ausgeführt werden?
– In welcher Reihenfolge sollen die Jobs ausgeführt werden?
– Wann soll der erste Job ausgeführt werden?
Als prominente Vertreter dieser Art von Scheduling-Tools sind die Cron-Tab in Kombination mit Shell-Skripten und der Windows Task Scheduler zu nennen.
JOB SCHEDULER
Die vorherige Generation der Batch-Processing-Tools ermöglicht lediglich eine sequentielle Abarbeitung von Jobs. Die Generation der Job Scheduler unterscheidet sich im Wesentlichen darin, dass sie die Erstellung komplexer Workflows ermöglicht. Dabei können für einen Job mehrere Vorgänger und/oder Nachfolger definiert, sowie dessen Ausführungsbedingungen konfiguriert werden. Daneben erweitert diese Generation der Scheduling-Tools die vorherige um Features zur Überwachung der Workflowausführung. Der folgende skizzierte Workflow kann somit mit einem Scheduling-Tool der Generation Job-Scheduler umgesetzt werden.
KONSOLIDIERTER JOB SCHEDULER
Stehen mehrere Arbeitsknoten vor, welche denselben Aufgabentyp verarbeiten können, so kann durch den konsolidierten Job-Scheduler eine Lastverteilung vorgenommen werden.
ITWAB (IT Workload Automation Broker)
Gartner greift dieses Problem auf und stellt im Jahr 2005 das Konzept der IT Workload Automation Broker vor. Nach diesem werden verschiedene Aufgabentypen je einer Gruppe an Arbeitsknoten zugewiesen. Mithilfe von Virtualisierung und Cloud-Computing werden ausgelastete Gruppen dynamisch in ihrer Rechenleistung erweitert, insofern dies erforderlich wird.
Dadurch können die Flaschenhälse der Workflows abgeschwächt und somit Wartezeiten zu Lastspitzen reduziert werden. Sobald die Lastspitze abgearbeitet ist, kann die anschließend nicht länger für die Gruppe benötigte Rechenleistung zurück an die Cloud gegeben werden. Von dort aus kann sie anderen Gruppen zugewiesen werden oder in der Cloud verbleiben. Um Energie und Kosten zu sparen können bei überschüssiger Rechenleistung in der Cloud physische Rechner heruntergefahren werden.
Konsolidierter Job-Scheduler für Informatica PowerCenter
Die Scheduling-Fähigkeiten, welche Informatica PowerCenter über die Komponenten Workflow Manager und Monitor mitbringt, sind am ehesten der Generation der Job-Scheduler zuzuordnen.
Für das Steuern und Überwachen von in Informatica PowerCenter umgesetzten ETL-Aktivitäten eignet sich unserer Erfahrung nach ein Tool der Generation konsolidierter Job-Scheduler am besten. Darunter zählen bei entsprechender Verwendung auch die Anwendungen Control-M und Automic Automation.
Im Rahmen der Abschlussarbeit wurde daher die Suche nach einem Open-Source-Tool als externer Scheduler für Informatica auf Tools der Generation konsolidierter Job-Scheduler ausgerichtet. Nachdem entsprechende Tools gefunden waren, wurden die verschiedenen Scheduling-Lösungen für Informatica PowerCenter miteinander verglichen.
Die Erkenntnisse aus diesem Vergleich lesen Sie demnächst auf unserer Website.