Echtzeitverarbeitung von Big Data

Reporting-Lösung steigert Performance

Die Echtzeitverarbeitung großer Datenmengen (Big Data) stellt ­Unternehmen der Logistikbranche vor neue Heraus­forderungen, bietet gleichzeitig aber auch große Chancen für eine deutlich gesteigerte Performance.

Elefant, Bildquelle: Thinkstock/iStock

Big Performance: Die Echtzeitverarbeitung großer Datenmengen sorgt für eine gesteigerte Performance.

Aktuellen Schätzungen zufolge werden jeden Tag über 2,5 Quintillionen Bytes an Daten neu produziert. So groß die Datenmengen sind, so vielfältig sind die Quellen. Neben klassisch manuell erzeugten Daten wächst die Anzahl automatisch generierter Daten rasant. Ob Transaktionsdaten, Protokoll- und Logdateien, RFID- oder Barcodes:  Strukturierung, Weiterverarbeitung und zeitnahe Analyse dieser Daten stellen Unternehmen zunehmend vor große Herausforderungen. Ein Anwendungsbeispiel aus der Logistikbranche zeigt, was Unternehmen bei der Echtzeitverarbeitung großer Datenmengen beachten müssen.

Bis zu zwölf Millionen Pakete wickelt ein internationaler Logistikdienstleister pro Tag ab. Um die Eventhistorie aller Pakete von der Abholung über die gesamte Logistik- und Transportkette bis hin zur Auslieferung komplett abzubilden, wurde die Entwicklung einer Echtzeit-Reportinglösung beauftragt. Typisch für solche Big-Data-Umgebungen sind eine Vielzahl von Datenquellen. In manchen Fällen bietet sich für die Extraktion der Daten ein flexibles „Message Queuing“ an. Ein Beispiel: Abhängig von Quelle und Art der Daten wird ein Event ausgelöst und die Daten auf eine entsprechende Queue gesetzt. Die Daten fließen transaktionsbasiert in das Data Warehouse ein, wobei jede Transaktion separat behandelt wird und die Persistierung der Daten anstößt. Im beschriebenen Anwendungsfall wurden rund 60 verschiedene Eventtypen und Queues unterschieden. In der Praxis werden oft mehrere Extraktionsverfahren miteinander kombiniert, um optimal auf die jeweiligen Anforderungen reagieren zu können. Das Aggregieren der Daten für das Reporting der Paketdaten erfolgt hier beispielsweise über einen Microbatch.

Sicherung der referentiellen Integrität

Grundsätzlich gilt: Je näher man an die Echtzeit herankommt, desto größer muss die Toleranz für falsche Daten sein. Denn durch die häufige Persistierung können die Daten nicht immer sofort auf fachliche Qualität geprüft werden. Dieser Aspekt muss den Endnutzern vermittelt werden, um Missverständnisse und Reklamationen zu vermeiden. Die Plausibilitätsprüfung selbst ist aus Zeitgründen auf nachgelagerte Systeme zu verschieben. Im Rahmen des Logistikprojekts waren die Entwickler mit dem Phänomen konfrontiert, dass Handscanner nach einem Reset immer das Default-Datum 01.01.1900 lieferten. Die Erstellung von Prüfroutinen kann daher nur in Abstimmung mit den Anwendern erfolgen. Denn nur sie können beurteilen, welche Toleranzen für welche Daten sinnvoll sind und wo eingegriffen werden muss.

Zwischen 3.000 und 4.000 Datensätze fallen zeitweise bei dem Logistikdienstleister pro Sekunde an. Um dieses Datenvolumen sicher und synchron zu handeln, arbeitet das Data Warehouse mit einer Steuerung zur Datenbeladung. Traditionell werden zur Sicherung der referentiellen Integrität erst die sogenannten Master Data wie Dimensionstabellen und anschließend die Inhalte geladen. Allerdings entstehen bei einer solchen Vorgehensweise Latenzen, die in einem Echtzeitsystem nicht akzeptabel sind. Als Ausweg bietet  sich das sogenannte „Dubbing“ an: Hier werden Master Data und „normale“ Daten nicht nacheinander, sondern parallel verarbeitet. Generell ist die Aggregierung bei transaktionsbasierten Echtzeitsystemen nicht einfach und sollte daher nachgelagert stattfinden, wenn die Daten bereits persistiert sind. Diese Vorgehensweise bietet sich umso mehr an, da die Aufgabe eines Data Warehouse ja in der Aufbereitung und Präsentation besteht. Die unteren, granularen Ebenen sind daher für die Endnutzer in der Regel uninteressant.

Datensicherung in festgelegten Zeitfenstern

Die Komplexität der Backup- und Restore-Thematik wird vielfach außer acht gelassen. Während bei Systemen, die im Batchbetrieb arbeiten, die Datensicherung in festgelegten Zeitfenstern erfolgen kann, wirft die Echtzeitkonstellation im Big-Data-Umfeld überaus komplexe Fragestellungen auf. Was passiert mit Daten, die noch einfließen, aber nicht mehr richtig persistiert werden können, weil die Folgesysteme ausgefallen sind? Wie lässt sich die Synchronisation nach der Wiederherstellung sicherstellen? Die Vielzahl von Datenquellen des Logistikdienstleisters erfordert, dass bei einem Ausfall einer bestimmten Komponente auch Daten vorgelagerter Systeme gepuffert werden müssen, da diese nicht mehr weitergereicht werden können. Die Handscanner in der Paketabfertigung verfügen daher über einen eigenen Zwischenspeicher.

Echtzeitverarbeitung bedeutet auch, dass sich Kennzahlen von einem Aufruf zum anderen ändern können, da kontinuierlich weitere Daten einfließen und verarbeitet werden. Was zur zeitnahen Erkennung von Störungen im Betriebsablauf durchaus erwünscht ist, kann im internen Berichtswesen zu Schwierigkeiten führen, da Abstimmungen und Entscheidungen auf Basis sich verändernder Daten getroffen werden müssen. Bei dem Logistikbeispiel legte der Kunde darauf Wert, dass standortübergreifende Besprechungen zu bestimmten Fragegestellungen auf Basis einheitlicher Reportings stattfinden sollten. Diese Daten mussten in der Folge separat aufbereitet und vorgehalten werden.

Planung als wichtiger Erfolgsfaktor

Desweiteren ist eine analog dem Produktivsystem aufgebaute Integrationsumgebung für Tests und Entwicklungen unerlässlich. Da in der Regel nicht auf Echtdaten zugegriffen werden kann, müssen diese aufwendig simuliert werden. Gerade bei zahlreichen Datenquellen und hohem Datenvolumen entsteht schnell ein erheblicher technischer und finanzieller Aufwand, der bei Projektbeginn oftmals unterschätzt wird. Zudem stellt das Testen unter Echtzeitbedingungen besondere Herausforderungen: Reproduzierbare Testläufe, die mit identischen Daten arbeiten, sind nicht ohne weiteres möglich. Weiterhin zeigt das Logistikbeispiel, dass die Simulation von Lastspitzen in einem Softwaresystem, das mehrere Standorte anbindet, sich in einer Integrationsumgebung nicht abbilden lässt. Hier empfiehlt es sich, das Produktivsystem im Live-Betrieb zu analysieren und die Erkenntnisse in die Konzeption der neuen Big-Data-Umgebung zu übertragen.

Die Echtzeitverarbeitung bietet für Unternehmen im Big-Data-Umfeld  zahlreiche Vorteile: Entscheidungen können schneller und auf Basis transparenterer Daten getroffen werden, auf Störungen kann frühzeitig reagiert werden. Gleichzeitig ist die IT mit komplexen Herausforderungen konfrontiert. Unerlässlich ist daher eine solide Planung, die kritische Themenfelder wie Integrationsumgebung, Backup/Restore oder Reporting bereits im Vorfeld berücksichtigt und mit den Fachabteilungen im Unternehmen abstimmt.

 

Checkliste für Big-Data-Projekte

  •   Welche Datenquellen sind zu berücksichtigen?
  • Welches Datenvolumen? Welche Frequenz?
  •   Welche Verfahren zur Extraktion und Persistierung sind für das jeweilige Aufgabenszenario geeignet?
  •   Wo ist eine Echtzeitverarbeitung zwingend gefordert?
  •   Wie ist die Datenqualität beschaffen? Welche Toleranzen sind möglich?
  •   Welche Synchronisationsstrategien sind verfügbar?
  •   Welche Anforderungen werden an Backup und Restore gestellt?
  •   Welche Anforderungen werden an das Reporting gestellt?
  •   Steht eine Integrationsumgebung zur Verfügung?
  •   Wie wird die Datensicherheit gewährleistet?
  •   Wer ist seitens der IT sowie der Fachbereiche für das Projekt verantwortlich? Stehen ausreichend interne Ressourcen bereit oder kann auf externe Berater und Entwickler zurückgegriffen werden?

 

Bildquelle: Thinkstock/iStock

©2020Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok