Die 5 besten Tipps für Datenintegrationsprobleme Tipp 2: So lässt sich die Performance optimieren

0

Mangelnde Performance ist eine häufige Hürde

800% wird das Datenwachstum laut Experten in den nächsten 5 Jahren betragen. Ungenutzte Daten werden daher Unternehmen teuer zu stehen kommen. In dieser Blogserie erkläre ich, wie Informationen richtig aufbereitet und integriert werden, damit sie vollständig genutzt werden können. Heute mit Tipps und Hinweisen zu einer optimalen Performance.

Von Ladezeiten und Ressourcenaufwand

Ein bekanntes Problem im Umgang mit Daten ist die Performance, ob beim Laden von Daten oder bei der Skalierung. Häufig sollen Daten während eines ganz bestimmten Zeitfensters geladen werden. Um etwaige Probleme dabei zu vermeiden, muss man zunächst die Umgebungsvariablen kennen und dokumentieren. Dann sollte geklärt werden, welche weiteren Abteilungen und Stakeholder involviert sind und sich ruhig noch einmal fragen, ob die aufgetretenen Performance-Probleme wirklich welche sind.

Es ist empfehlenswert, für jeden konkreten Fall den Ist-Zustand mit messbaren Parametern zu beschreiben. So lässt sich nach dem Optimieren genau nachvollziehen, ob die Änderungen den Prozess tatsächlich effizienter und/oder leichter handhabbar gemacht haben.

Auf folgende Fragen sollten IT-Fachleute, aber auch Verantwortliche für Big Data, Data Analytics und Business Intelligence die Antworten kennen:

  • Was ist meine Gesamt-Ladezeit und was ist mein Zeitfenster?
  • Wie viel Ressourcenaufwand braucht jeder einzelne Task?
  • Wie viel Zeitaufwand braucht jeder Task?
  • Wo ist mein Engpass beim Laden?
  • Wie kann ich dieses Bottleneck umgehen/verbessern/refaktorieren?

Danach steht die Entscheidung, wie weiter vorgegangen wird: Lassen sich Tasks überspringen? Kann man Prozesse effizienter machen, indem bestimmte Daten beispielsweise nur noch monatlich statt wöchentlich neu geladen werden?

Dabei braucht es die Mitsprache der identifizierten Stakeholder – wie Application Manager, Softwareentwickler oder Hardware Provider. Sie können helfen, potenzielle Bottlenecks aufzulösen. Jede Änderung sollte dazu führen, den Prozess erneut hinsichtlich seiner Effizienz zu analysieren und zu vermessen.

Über Datenskalierung

Das Datenaufkommen nimmt zu und die Datenmengen wachsen immer schneller. Das bringt neue Herausforderungen mit sich: Wie lässt sich die Datenflut sinnvoll speichern? Welche der Daten sind überhaupt von Nutzen und was sollte mit dem Datenmüll geschehen? Wie schützt man sensible Daten im Sinne der DSGVO oder anderer Regularien? Und wie erkennt das System, welche der Daten schutzwürdig sind?

Besonders kritisch ist der Umgang mit personenbezogenen Informationen. Bei HR-Daten etwa muss ausgeschlossen sein, dass diejenigen, die die Daten für Analysezwecke oder für Vorhersagen nutzen, sie dem einzelnen Mitarbeiter zuordnen können. Und das, obwohl die Daten ja gerade zur besseren Auswertung mit anderen Daten verknüpft und konsolidiert worden sind.

Die Lösung: Der Delta-Mechanismus

Unter Delta-Mechanismus ist das partielle Laden von Daten zu verstehen. Denn: Wozu bei einem Update jeweils den vollständigen Datensatz laden, wenn doch ein großer Teil der Daten gleichgeblieben ist? Es genügt, nur die geänderten Werte zu überschreiben. Dabei ist es ohne Bedeutung, ob es um tagaktuelle Daten geht oder die Beladung stündlich oder noch öfter erfolgt (Near-Realtime Daten). Diese recht simple Idee ist allerdings nicht so einfach umzusetzen. Geklärt werden müssen folgende Fragen:

  • Wann und für welchen Zeitraum benötige ich die Daten?
  • Reicht mir der letzte Datenstand und wie aktuell müssen die Daten dabei sein?
  • Werden die Daten in ihrem Verlauf gebraucht, also auch die Vorgängersätze, etwa zu Vergleichszwecken? Und wie weit muss die Historie zurückgehen?

Liegen die Antworten vor, kann man sich darauf beschränken, nur die relevanten Daten zu laden, nach dem Motto: so viel wie nötig, so wenig wie möglich.

Folgende Vorgehensweise hat sich bewährt: Die Daten werden zunächst von der Quelle ohne jegliche Änderung oder Anpassung in das Data Warehouse übertragen. Im DWH findet dann die Delta-Bestimmung statt. Das bedeutet, das System findet heraus, wo es Änderungen zum vorherigen Datensatz gibt. Nach der Konsolidierung werden die Daten in Datencubes bereitgestellt. Aus diesen Cubes ziehen sich dann die Dashboards und Reports die aktuell gültigen Werte.

Durch den Delta-Mechanismus lassen sich sehr große Datenmengen, die täglich über 24 Stunden hinweg anfallen, mit angereicherter Business Logic über Nacht in nur drei bis vier Stunden verarbeiten. Das ist möglich, weil viele Verarbeitungsschritte parallel ablaufen.

Die Vorteile dieser Vorgehensweise, jeweils nur die geänderten Daten neu zu laden, liegen auf der Hand: Infolge der schnelleren Ladevorgänge lassen sich definierte Zeitfenster besser einhalten, während alle nötigen Daten zur richtigen Zeit verfügbar sind. Zudem werden die Speicher nicht mit unnötigem Daten-Ballast gefüllt. Letztlich verringert sich auch die Fehlerquote, da weniger Vorgänge ablaufen und es weniger Fehlermöglichkeiten gibt.

Gut zu wissen: Nodes beschleunigen das Beladen mit Daten
Gute Erfahrungen, um die Datenverarbeitung weiter zu beschleunigen, hat man mit dem Einsatz von Aktiv-/Passiv-Nodes gemacht, die die Last verteilen. Jede Nacht sollte automatisch ein Wechsel der IP-Adressen für die konkrete Applikation stattfinden. Im Ergebnis lassen sich dadurch die Intervalle, wann der Server zu beladen ist, beträchtlich vergrößern.

Eine Zusammenfassung mit allen 5 Lösungen für typische Probleme bei der Aufbereitung und Integration von Daten finden Sie in diesem Whitepaper.

Diese Artikel könnten Sie auch interessieren:

Tags: , , ,

Stefan Müller - Director Big Data Analytics
Nach mehreren Jahren Tätigkeit im Bereich Governance & Controlling und Sourcing Management ist Stefan Müller bei it-novum gelandet, wo er den Bereich Big Data Analytics aufgebaut hat. Stefans Herz schlägt für die Möglichkeiten, die die BI-Suiten von Pentaho und Jedox bieten, er beschäftigt sich aber auch mit anderen Open Source BI-Lösungen. Seine Begeisterung für Business Open Source im Bereich Datenintelligenz gibt Stefan regelmäßig in Fachartikeln, Statements und Vorträgen weiter.
Webprofile von Stefan: Twitter, LinkedIn, XING