Big Data: Hazelcast veröffentlicht System zur Verarbeitung verteilter Echtzeitdaten
Hazelcast Jet ist auf datenintensive Anwendungen ausgelegt und soll gegenĂĽber Apache Flink und Spark durch geringe Latenzen bei der Verarbeitung punkten.
Hazelcast ist vor allem für das gleichnamige In-Memory Data Grid bekannt, das Daten flexibel auf Cluster verteilt und so den schnellen Zugriff ermöglicht. Nun hat das Unternehmen mit Hazelcast Jet ein System zur Verarbeitung von parallelen Datenströmen vorgestellt, das Batch-Daten und Datenströme gleichermaßen verarbeitet.
Jet setzt auf eine Pipeline in Form sogenannter Directed Acyclic Graphs (DAG), was sich mit gerichteten, azyklischen Graphen übersetzen lässt. Generatoren verarbeiten die eingehenden Daten und verteilen sie an Akkumulatoren. Anschließend folgt die Zusammenführung in sogenannten Combiners, die das Ergebnis zum gewünschten Output liefern. Die ersten Verarbeitungsschritte erfolgen jeweils innerhalb eines Nodes, aber für die Zusammenführung überwindet das System die Knotengrenzen.
(Bild:Â Hazelcast)
Verarbeitung ohne Zwischenstopp
Als Vorteil gegenüber anderen Systemen zur Verarbeitung von Datenströmen preist Hazelcast die sogenannte One-record-per-time-Architektur, die Datensätze direkt verarbeitet und auf Micro Batches, wie sie Spark verwendet, und die verteilten Snapshots von Flink verzichtet. Dadurch soll Jet die Verzögerung minimieren und nahezu in Echtzeit arbeiten. Das soll vor allem Anwendungen im Bereich Internet der Dinge und Fraud Detection (Betrugserkennung) begünstigen.
Gleichzeitig ist Jet auf Microservices optimiert, in die es sich als eingebettetes System integrieren lässt. Wie das Data Grid setzt Jet auf Java und verwendet die Java-8-Stream-API für verteilte Datenströme. Ein Codebeispiel soll demonstrieren, wie einfach sich Jet integrieren lässt. Hazelcast Jet bietet derzeit unter anderem Konnektoren zu Hazelcast IMDG (In-Memory Data Grid) Map beziehungsweise List, HDFS (Hadoop Distributed File System), Kafka sowie zu Dateien und Socket.
Weitere Details lassen sich den FAQs entnehmen. Hazelcast Jet hat derzeit die Versionsnummer 0.3 und ist unter der Apache-2-Lizenz quelloffen auf GitHub verfĂĽgbar. Auf der Downloadseite finden sich ZIP- und TAR-Archive sowie Anleitungen zur Verwendung mit Maven und Gradle. (rme)