Suchen

Bis zu 16-mal schneller Apache Storm erreicht Version 1.0

| Autor / Redakteur: Dipl. -Ing. Thomas Drilling / Nico Litzel

Storm, das Apache-Projekt zur Echtzeitverarbeitung von Streaming-Daten, hat die symbolträchtige Version 1.0 erreicht. Die jüngste Version eines der ersten Hadoop-unabhängigen Big-Data-Frameworks, das auf YARN portiert wurde, verspricht neben vielen Neuerungen auch eine diesem Release-Stand angemessene Stabilität.

Firma zum Thema

Storm 1.0 verspricht große Fortschritte bei der Usability und bei der Performance. So soll Version 1.0 beispielsweise bis zu 16-mal schneller sein als der Vorgänger und zudem die Latenz um bis zu 60 Prozent verringern.
Storm 1.0 verspricht große Fortschritte bei der Usability und bei der Performance. So soll Version 1.0 beispielsweise bis zu 16-mal schneller sein als der Vorgänger und zudem die Latenz um bis zu 60 Prozent verringern.
(Bild: The Apache Software Foundation/T. Drilling)

Apache Storm ist ein verteiltes Datenverarbeitungssystem, das initial von den BlackType Labs entwickelt und mit der späteren Übernahme durch Twitter unter eine Open-Source-Lizenz gestellt wurde. Seit 2014 ist Storm ein Top-Level-Projekt der Apache Software Foundation und steht unter einer Apache-Lizenz.

Storm kann sowohl Stream-Abfragen als auch kontinuierliche Berechnungen sowie Remote Procedure Calls (RPC) und ETL-Funktionen (Extract, Transform, Load) ausführen. Storm ist dabei sehr flexibel und lässt sich mit nahezu jeder Programmiersprache und jeder Datenbanktechnik verwenden.

Neuerungen unter der Lupe

Die Neuerungen in Storm 1.0 versprechen große Fortschritte bei der Usability und der Performance. So soll Version 1.0 beispielsweise bis zu 16-mal schneller sein als der Vorgänger und zudem die Latenz um bis zu 60 Prozent verringern. Sogar wenn man berücksichtigt, dass viele externe Faktoren und das Einsatzszenario selbst das Verhalten der Topologie wesentlich mitbestimmen, sollen die Performance-Verbesserungen im Schnitt den Faktor 3 erzielen.

Pacemaker Heartbeat Server

Nach Ansicht der Entwickler stößt ZooKeeper bei hochskalierenden Storm-Architekturen mit hohem Schreibvolumen mittlerweile an Grenzen, was sich auf die Netzwerkverbindung zwischen den Clustern auswirke. Apache ZooKeeper ist ein Open Source API (Application Programming Interface), welche das Synchronisieren verteilter Prozesse in großen Systemen sicherstellt, sodass sämtliche anfragenden Clients immer konsistente Daten bekommen. Bei der neuen Version löst daher Pacemaker ZooKeeper ab, der als einfacher In-Memory Key-/Value-Store zwar ähnlich wie ZooKeeper funktioniert, aber eine deutlich bessere Leistung bietet.

Cache API

Neu ist auch das verteilte Cache API, welches ein Teilen von BLOBs (Binary Large Objects) über die Topologien ermöglicht. Dabei lassen sich Dateien im verteilten Cache jederzeit mithilfe der Kommandozeile aktualisieren, ohne dass dazu die Topologie neu installiert werden muss. Das verteilte Cache API erlaubt Dateien mit einer Größe von wenigen Kilo- bis zu mehreren Gigabyte und unterstützt Komprimierungsformate, wie ZIP oder GZIP. Genau genommen gibt es sogar zwei verschiedene Cache APIs, je eines für das lokale Dateisystem auf Supervisor-Knoten und eines für HDFS, wobei beide Access Control Lists unterstützen.

Weitere Neuerungen

Ferner haben die Entwickler HA Nimbus implementiert, um die Verfügbarkeit von Topologie-Ressourcen bei einem Knotenausfall zu gewährleisten. (High Availability) Nimbus nutzt das verteilte Cache API für die Replizierung. Darüber hinaus bietet Version 1.0 ein natives Streaming Window API, ein Stateful Bolt API, einen automatischen Rückstaumechnismus, dynamische Log Level sowie eine Log-Suchfunktion. Ferner gibt es jetzt ein neues Steuerprogramm zum Einrichten der von einzelnen Topologie-Komponenten benötigter Speicher- und CPU-Ressourcen.

(ID:44006244)

Über den Autor

Dipl. -Ing. Thomas Drilling

Dipl. -Ing. Thomas Drilling

IT-Consultant, Trainer, Freier Journalist