Menü

Big Data: Apache Storm macht den Sprung auf Version 1.0

Die Entwickler des Konkurrenten der Apache-Projekte Spark und Flink versprechen für das erste große Release des Big-Data-Projekts ein deutlich besseres Verhalten gegenüber den bisherigen Versionen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 2 Beiträge
Von

Das Big-Data-Projekt Apache Storm hat die bedeutungsschwangere Version 1.0 erreicht. Dabei handelt es sich um ein von Twitter initiiertes Echtzeit-Datenverarbeitungssystem, das neben reinem Stream Processing (der klassischen Analyse der Daten im Stream) auch Continuous Computation (erlaubt die Ausgabe von Ergebnissen während der Verarbeitung weiterer Daten) und die Möglichkeit zulässt, Distributed RPCs (verteilte Remote Procedure Calls, mit denen sich umfangreiche Abfragen parallelisieren lassen) anwenden zu können.

Storm hat eine Vergangenheit als von Apache Hadoop unabhängige Architektur, wurde aber mit dem Erscheinen von Hadoop 2 vor über zwei Jahren als eine der ersten Applikationen auf die damals neue YARN-Architektur (Yet Another Resource Negotiator) portiert.

Neben der für eine Version 1.0 üblichen API-Stabilität weist Storm etliche markante Neuerungen auf, etwa die neue verteilte Cache API, die das Verteilen der BLOBs (Binary Large Objects) über die sogenannten Topologien (= bei Storm ein Netzwerk von Aktoren) erlaubt. Die Daten lassen sich offenbar zu jeder Zeit über die Kommandozeile ändern, ohne dass eine Topologie neu zu deployen ist. Außerdem unterstützt die API Kompressionsformate wie ZIP und GZIP

Mit Storm 1.0 wurde außerdem ein hochverfügbarer Nimbus-Service eingeführt. Neu sind auch eine native Windowing API, mit der sich Fenster nach ihrer Länge oder Dauer sowie deren Sliding-Intervalle einstellen lassen, und eine Stateful Bolt API mit automatischen Checkpoints. Weitere neue Features beschreibt die Ankündigung.

Darüber hinaus soll sich die Version 1.0 16-mal schneller als vorhergehende Versionen verhalten – und das bei einer bis zu 60 Prozent reduzierten Latenz. Und selbst wenn das Verhalten der Topologien von vielen externen Faktoren und vom Einsatzszenario abhängt, versprechen die Storm-Entwickler für das neue Release ein mindestens dreimal so schnelles Verhalten wie bei früheren Versionen.

Für die Manipulation der Daten wird in Storm eine Topologie aufgebaut. Durch diese fließen Datenströme bestehend aus Tupeln, die ihren Ursprung in Spouts (= Abstraktion für eine Datenquelle) haben. Als Datenquellen bringt Storm zum Beispiel diverse JMS-Provider (Java Messaging Service), Konnektoren zu Twitter oder eine Anbindung an Kafka mit oder es stellt alternativ Schnittstellen zur Programmierung eigener Spouts zur Verfügung. Die Daten werden in der Folge innerhalb der Topologie zwischen sogenannten Bolts geroutet, die sich durch eine geringe Latenz auszeichnen und beliebigen Benutzercode ausführen können. So lassen sich diese etwa dazu verwenden, Daten zu filtern, zu aggregieren, mit Daten aus anderen Systemen anzureichern oder die Daten in HDFS (Hadoop Distributed File System) oder HBase zu speichern.

Apache Storm ist seit September 2014 ein vollwertiges Projekt der Apache Software Foundation. Es konkurriert in Teilen mit den Apache-Projekten Spark und Flink. (ane)