Blog

Riding the Jet Stream with Hazelcast

Christoph Engelbert hat bei der Java User Group Hessen zum Thema Hazelcast referiert

JUGH-Session mit Christoph Engelbert zu Hazelcast

Java 8 brachte mit dem java.util.Stream-API ein modernes, funktionales und mächtiges Tool zur Berechnung von Daten. Einer seiner großen Vorteile ist, dass es viele Aspekte der Iteration und der darunter liegenden Collection-Implementierung versteckt sowie eine parallele Abarbeitung auf Basis des Fork-Join-Frameworks bietet. Zum Beispiel in Verbindung mit Hazelcast.

Dieser Vortrag wird auf Basis des Stream-API und des Hazelcast-Jet-Frameworks die Berechnung auf mehrere Maschinen verteilen und es so möglich machen, auch Datenmengen zu berechnen, welche mehr Speicher bräuchten, als in einer einzelnen JVM zu verarbeiten ist.

Zusätzlich werden der Hintergrund von Directed Acyclic Graphs (DAGs) erläutert sowie ein Blick in die Hazelcast-Jet-Low-Level-API geworfen, welche viele zusätzliche Möglichkeiten bietet und nahezu “übernatürliche Fähigkeiten” hat.

Hohe Performanz auch bei großer Datenlast

Hazelcast ist ein In Memory Data Grid (INDG), das auf die Verteilung datenintensiver Applikationen spezialisiert ist. Vor allem in Kontext von Big Data ist die Prozess-Engine eine echte Empfehlung, weil sie es durch die Verteilung großer Datenströme ermöglicht, Prozesse parallel auszuführen und datenintensive Operationen auf diese Weise nahezu in Echtzeit abzuwickeln. Dabei spielen die genannten Directed Aclyclic Graphs eine entscheidende Rolle, um die Abhängigkeiten der einzelnen Schritte in der Processing Pipeline zu modelieren.

Hazelcast und Big Data

Insbesondere beim Internet of Things (IoT) kann Hazelcast eine echte Unterstützung sein, weil es hier oft darauf ankommt, dass einer Datenanalyse schnell geschieht, etwa
  • bei der Aufnahme großer Datenmengen bei gleichzeitiger Aufmerksamkeit für kommende Aufgaben
  • für die Entdeckung und Erkennung von Anomalien sowie die Validierung von Daten
  • im Umgang mit sehr großen Latenzzeiten beim Zugriff auf Daten
  • beim Reporting (als Demand oder als Batch-Routinen)
Hazelcast Jet bearbeitet eingehende Daten so schnell wie möglich anstatt sie zuerst in Micro-Batches zu sammeln – die Hersteller sprechen von einer One-Record-per-Time-Architektur. Diese nimmt die Daten mit hoher Geschwindigkeit auf (via Socket, Hadoop Distributed File System oder Kafka-Schnittstellen) und führt die Berechnung der eingehenden Daten ohne Verzögerung durch.
Hazelcast ist superleicht zu programmieren und zu implementieren und kann als Embedded System vollständig integriert werden.
Informationen zu Christoph Engelbert
Christoph Engelbert ist als Manager of Developer Relations bei Hazelcast Inc. gleichermaßen für die Open Source Community wie für Kunden verantwortlich. Er ist ein passionierter Java-Entwickler mit starken Engagement im Bereich des Open-Source-Ökosystems. Top-Interessen sind neben allen Formen von Performance-Optimierungen und dem Verständnis der JVM-Interna vor allem das Thema Garbage Collector. Software ans Limit zu bringen sein Lebensziel.
Jule Witte

Jule Witte

Presse & Kommunikation