Apache Storm – Big Data-Analyse auf Echtzeitbasis

0
24.11.2016ǀ ǀ Big Data
Hadoop Yarn sorgt für eine effiziente Clusterauslastung

Hadoop Yarn sorgt für eine effiziente Clusterauslastung

Unternehmen, die eigene Big-Data-Umgebungen aufbauen wollen, sollten einen Blick auf Apache Storm werfen: Das fehlertolerante und skalierbare System gehört zu den bekanntesten Big-Data-Lösungen im Open-Source-Bereich und hat sich auf die Fahnen geschrieben, Daten in Echtzeit zu verarbeiten. Überdies erlaubt Storm die Ausgabe von Daten, während die Berechnung im Hintergrund weiterläuft.

Die Idee für Storm ist ursprünglich im Umfeld von Twitter entstanden, erst später wurde das Projekt an die Apache Software Foundation übergeben – was sich auch an den Schwerpunkten der Lösung bemerkbar macht. Storm-Erfinder Nathan Marz wollte mit seiner Big Data-Lösung insbesondere drei zentrale Einsatzszenarien im Umfeld sozialer Datenbanken abdecken:

  • Ein auf der Echtzeitverarbeitung von Daten basierendes Aktualisieren von Datenbanken,
  • die fortlaufende Berechnung und Ausgabe der Ergebnisse (Continuous Computation),
  • das Parallelisieren rechenintensiver Anfragen mithilfe verteilter Remote Procedure Calls (RPCs).

Als Teil des Hadoop-Ökosystems ist Storm für die Echtzeit-Datenverarbeitung damit in etwa das, was Hadoop für das Batch-Processing ist.

Daten in Echtzeit auswerten
Das Einsatzgebiet von Storm ist der latenzsensitive Bereich der Echtzeitdatenverabeitung: Storm ist das Mittel der Wahl, wenn Entscheidungen im Millisekundenbereich getroffen werden müssen, ohne dass darauf gewartet werden kann, dass z.B. ein klassischer Batch Job ein Ergebnis liefert.

Ein typischer Anwendungsfall ist die Analyse von Clickstreams im Retailbereich. Storm kann hier mit wenig Hardware bereits eine große Anzahl an Tuples mit geringen Latenzen verarbeiten. Dabei garantiert Storm mithilfe eines Acknowlegement-Algorithmus, dass im verteilten Einsatz keine Nachrichten verloren gehen und jedes Tuple verarbeitet wird. Geht ein Tuple z.B. durch einen Netzwerkfehler verloren, wird es automatisch erneut gesendet.

Auch für Auswertungen von Daten aus sozialen Netzwerken eignet sich Storm sehr gut: so lassen sich riesige Mengen an Twitter-Nachrichten analysieren und mit anderen Informationen in Beziehung setzen. Dadurch sind z.B. Aussagen über die Entwicklung von Börsenkursen anhand der Stimmung im Social Web möglich.

Vorteile, die der Einsatz von Storm mit sich bringt:

  • die Echtzeitanalyse von Daten,
  • eine einfach und überschaubar aufgebaute API,
  • ein geringer Aufwand, um mit nahezu jeder beliebigen Programmiersprache auf das Analysesystem zuzugreifen.

Ausfallsicherheit: Work Threads werden automatisch neu gestartet
Ein weiterer Vorteil von Storm ist die Ausfallsicherheit. So werden Work Threads auf den Nodes automatisch vom Master Node neu gestartet, falls dort ein Fehler auftritt. Des Weiteren findet ein automatisches Loadbalancing zwischen einzelnen (gleichen) Nodes statt. Durch das Hinzufügen von Worker-Nodes bietet Storm zudem eine einfache vertikale Skalierbarkeit. Dazu ist es allerdings erforderlich, dass die Topologie neu gestartet wird. Das Hinzufügen „on-the-fly“ ist derzeit noch nicht möglich.

Diese Artikel könnten Sie auch interessieren:

Tags: , ,

Stefan Müller – Director Business Intelligence & Big Data
Nach mehreren Jahren Tätigkeit im Bereich Governance & Controlling und Sourcing Management ist Stefan Müller bei it-novum gelandet, wo er den Bereich Business Intelligence aufgebaut und in Richtung Big Data weiterentwickelt 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

Kommentar schreiben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.