Mit Lean Management den ETL/ELT-Prozess optimieren

Ein wesentlicher Erfolgsfaktor im Data Warehousing Bereich ist, nach Ansicht des Autors, ein effizienter ETL oder ELT-Prozess. Es wird sich zeigen, wie lange diese „klassische“ Form der Datenladung noch genutzt werden wird. Da diese Form aber sicherlich noch einige Jahre genutzt werden wird, macht es Sinn, die laufenden Prozesse zu optimieren bzw. auch bei neuen Projekten noch auf diese Form der Datenintegration zu setzen. Dieser Artikel befasst sich mit der Anwendung von Prinzipien aus dem Lean Management, um dieses Ziel zu erreichen. Aufgrund der Heterogenität der Systeme sind diese Aspekte sicherlich nicht pauschal anwendbar, aber können als Inspirationsquelle dienen.

Verschwendung vermeiden

Ein wesentlicher Bestandteil des Lean Management ist das Vermeiden von Verschwendung. Grundsätzlich werden 7 Arten der Verschwendung unterschieden. Diese Verschwendungen beziehen sich zwar auf Prozesse in der Produktion, können aber auch auf IT-Prozesse angewandt werde:

  1. Transportwege
  2. Bewegung
  3. Überproduktion
  4. Bestände
  5. Wartezeiten
  6. Ausschuss/Nacharbeit
  7. Falsche Technik/Prozesse

Transportwege und Bewegung

Diese beiden Verschwendungsarten sind sehr ähnlich. Wenn das Material nicht optimal angeordnet ist, sorgt dies für längere Transportwege und damit auch Zeitverlust durch Bewegung. Im Kontext der Datenintegration kann man dies nun in Form von Prozessen und Arbeitsschritten sehen.  Unnötige Bewegung sind zum Beispiel (manuelle) Arbeitsschritte. Ein Beispiel wäre zum Beispiel das Kontrollieren der Verarbeitung oder Eingreifen bei Problemen. Eine Automatisierung kann zum Beispiel erreicht werden, dass nach Abschluss oder Abbruch eine automatische Information an die verantwortliche Person geschickt wird. Im Falle eines Abbruchs auch mit konkreter Information, wo es passiert ist, damit sofort mit der Analyse begonnen werden kann. Sollte ITIL genutzt werden, kann hier zum Beispiel im Fehlerfall automatisch ein Ticket generiert werden.

Sollten spezielle Prozessschritte nochmals gestartet werden müssen, macht es unter Umständen keinen Sinn, die ganze Verarbeitung nochmals zu starten. Durch eine Parametrisierung der Arbeitsschritte (Zum Beispiel: „Verarbeiten (JA/NEIN)“) kann hier der Job schnell und ohne viel Aufwand neu gestartet werden. Dazu ist es notwendig die Prozessschritte nicht zu komplex zu gestalten, sondern eher modular zu implementieren. Ein Hauptprozess, der diese modularen Prozesse aufruft und vorher die Parameter abruft, würde sich für solche Zwecke zum Beispiel eignen. Um keine Fehler zuzulassen (ein weiterer Aspekt des Lean Management), sollten aber Maßnahmen implementiert werden (Poka Yoke), welche verhindern, dass die Tagesverarbeitung dadurch unter Umständen gestört wird. Für das Beispiel des Startens mittels Parametern wäre ein „Wartungsjob“ als 1:1 Abbild des laufenden Jobs möglich, der auf diese Parametrisierung reagiert und nicht automatisch läuft.

Überproduktion und Bestände

Wird zu viel produziert führt dies zu unnötigen Beständen im Lager und damit gebundenem Kapital oder Wertverlust durch Abschreibungen. Im Datenbankkontext bedeutet dies eine unnötige Generierung und Speicherung der Daten. Dies führt zu längeren Durchlaufzeiten und Speicherplatzverschwendung. Je nachdem welcher Designansatz im Datawarehouse verfolgt wird, sind andere Anforderungen gegeben. Grundsätzlich ist es ratsam ein optimiertes Volumen an Daten im Design vorzusehen und unnötige Datenverfielfältigungen zu vermeiden. Bei Datenladungen aus einer Quelle, sollten Daten im Extraktionsschicht nicht mehrmals in verschiedene Datenbanken des DWH geladen werden bzw. auch überlegt werden, welche Spalten benötigt werden oder welche Filterkriterien anwendbar sind. Unnötiges Datenvolumen kann die Prozesslaufzeiten signifikant erhöhen! Die Beladung des DWH mittels einer Delta-Beladung ist ein bekannter Standard, wird aber der Vollständigkeit halber ebenfalls erwähnt. Beim Übergang der Daten in die weiteren Schichten sollten Filter möglichst frühzeitig angewandt werden, um auch hier unnötiges Verarbeiten zu vermeiden. Es sollte auch überlegt werden, welche Daten historisiert werden müssen, und wie diese durchgeführt werden soll. Eine unnötige Historisierung oder Datenhaltung kann durch sinnvollen Einsatz von Slowly Changing Dimensions erreicht werden. Rechtliche Vorschriften, wie zum Beispiel die Datenschutzgrundverordnung, können ebenfalls diese Historisierung beeinflussen.

Wartezeiten bzw. Ausschuss und Nacharbeit

Komplexe Prozesse sind in der Beladung eines DWH schwerfällig und können zu unnötigen Durchlaufzeiten führen. Eine Zerlegung von komplexen Ladeprozessketten in logisch sinnvolle Module ist eine Möglichkeit die Komplexität zu reduzieren. Durch die dadurch mögliche parallele Ausführung und leichtere Parametrierung der Prozessschritte (siehe Transportwege und Bewegung) erreicht werden. Der Einsatz von Triggern kann hier auch hilfreich sein. Die Wartezeiten sind auch äußerst relevant für die Präsentation der Daten, sind aber nicht Bestandteil dieses Artikels. Da diese dem „Endkunden“ aber am meisten auffallen, sind diese ebenso wichtig zu optimieren.

Im Datawarehousebereich empfiehlt sich eine Zero Defect-Strategie. Um dies zu erreichen sollte ein kontinuierlicher Verbesserungsprozess (KVP oder auch Kaizen) eingeführt werden. Wenn die Daten im DWH nicht stimmen oder die Verarbeitung oft abbricht, ist die Akzeptanz gefährdet. Auf den ETL-Prozess umgemünzt könnte man zum Beispiel eine Fehlertoleranz im ersten Layer vorsehen, damit die Daten aus dem Quellsystem zumindest immer im ersten Layer landen. Das Wegschreiben fehlerhafter Daten und Verarbeitung der korrekten Datensätze mit einer automatischen Information über den Fehler verhindert Wartezeiten, da zumindest alle korrekten Daten verarbeitet wurden. Bei der Fehleranalyse sollte dann im Nachgang die Ursache eliminiert werden, damit dieser Fehler in Zukunft nicht mehr auftritt. Da laufend neue Fehler in unterschiedlichen Kombinationen auftreten können, ist die wahrlich ein kontinuierlicher Prozess. Es kann nicht oft genug erwähnt werden, dass die Richtigkeit der Daten von zentraler Bedeutung für die Akzeptanz des DWH ist, daher muss ein ordentliches Qualitätsmanagement eingeführt werden und die Fachbereiche transparent über die Ursachen informiert werden. Daher sollte neben der Protokollierung der technischen Events (Laufzeiten, Stati, etc.) auch ein Check, über die Daten (Beispiel: Abgleich Summen im Datenwürfel mit der Datenquelle) durchgeführt werden.

Falsche Technik und Prozesse

Im klassischen ETL-Prozess (Extrakt-Transform-Load) werden die Daten transformiert, bevor sie geladen werden. Bei ELT (Extrakt-Load-Transform) ist die Reihenfolge umgekehrt, es wird zuerst geladen und dann transformiert. Besonders bei größeren Datenmengen kann es sinnvoll sein, nicht das klassische ETL, sondern ELT zu verwenden. Aus Sicht des Autors wird eine logische Integration der Daten in Zukunft wichtiger werden. Dies wird den ETL/ELT-Prozess zwar nicht obsolet machen, aber definitiv beeinflussen. Eine logische Integration ist sinnvoll, da physische Datenladung dann komplett entfallen können.

Eine Vereinfachung der Wartungs- und Qualitätmanagementprozesse ist ebenfalls ratsam. Ein Dashboard, welches die Verarbeitungsergebnisse sinnvoll visualisiert kann sehr hilfreich sein und spart Zeit. Informationen über Fehler sollten automatisch an die entsprechenden Personen in adäquater Form weitergeben werden.

Schlussbetrachtung

Die nächtliche (oder auch untertags laufende) Verarbeitung ist ein wesentlicher Bestandteil im DWH-Prozess. Nach Erfahrung des Autors eignen sich Methoden des Lean Management sehr gut, um diesen Prozess zu sichern. Dieser Fachartikel hat ein paar Möglichkeiten aufgezeigt, die dem/der LeserIn zur Inspiration dienen können. Eine tiefere Beschreibung oder weitere Beispiele würden den Rahmen sprengen, daher erhebt der Artikel keinen Anspruch auf Vollständigkeit.

Über den Autor

Markus Rotter, MA ist seit den 2000ern in der IT tätig und hat in dieser Zeit Erfahrungen mit IT-Management, Business Intelligence, Datawarehousing, Datenbanken, Systemadministration, IT-Architekturen, Mitarbeiterführung und Projektmanagement gemacht.

Zurück

Übersicht der Artikel

Dieser Artikel beschreibt die Sicherstellung der Effektivität und Effizienz durch ein Keyuserkonzept.

Weiterlesen

Dieser Artikel beschreibt eine Möglichkeit eine IT-Abteilung mit einem entsprechenden Portfolio zu steuern.

Weiterlesen

Dieser Artikel befasst sich mit der Anwendung von Prinzipien aus dem Lean Management, um den ETL/ELT-Prozess zu optimieren.

Weiterlesen

Dieser Artikel beschreibt eine Möglichkeit einen PoC für ein DWH durchzuführen.

Weiterlesen