GridGain In-Memory Data Fabric & Apache Ignite Big-Data-Analysen mit Open Source Software

Von Thomas Joos

Anbieter zum Thema

In-Memory Computing ist vor allem im Big-Data-Bereich äußerst beliebt, da hier große Datenmengen enorm schnell verarbeitet werden müssen. Durch den extrem schnellen Zugriff auf die Daten innerhalb des Arbeitsspeichers lassen sich mit GridGain respektive Apache Ignite riesige Datenmengen enorm schnell verarbeiten. Die Software steht als Open-Source-Lösung zur Verfügung.

(Bild: Rawpixel.com – Fotolia.com)

Wenn große Datenmengen enorm schnell verarbeitet werden müssen und Ergebnisse in Echtzeit zur Verfügung stehen sollen, kommen Unternehmen um den Einsatz einer In-Memory-Plattform nicht herum. Mit der Open-Source-In-Memory-Data-Grid-Plattform von GridGain, die die Bezeichnung In-Memory Data Fabric trägt, lassen sich Anwendungen zur Verfügung stellen, die auf Java, Scala und Groovy aufbauen. Neben dem Quellcode lässt sich die Software auch bereits fertig kostenlos herunterladen.

Einstieg in GridGain/Apache Ignite

Bei der kostenlosen Version handelt es sich um ein Build von Apache Ignite. Mit diesem Apache-Projekt lassen sich Anwendungen in einer verteilten und parallelisierten Umgebung kostengünstig und effizient betreiben, ohne auf teure Hardware setzen zu müssen. Apache Ignite wird seit 2007 entwickelt. Schöpfer des Projekts ist das Unternehmen GridGain Systems, welches Apache Ignite ursprünglich als GridGain In-Memory Computing Platform entwickelt hat. Das Produkt wurde in Java entwickelt und bietet darüber hinaus Schnittstellen zu Java, Scala, C++ und C#.

Apache Ignite nutzt für seine Berechnungen nicht nur den Arbeitsspeicher, sondern versucht auch, Daten möglich im Arbeitsspeicher als primäres Speichermedium abzulegen. Dadurch ist die Lösung selbst sehr schnellen Flash-Speichern deutlich überlegen.

Neben den Funktionen für In-Memory Data Grid stehen in Apache Ignite noch weitere Features zur Verfügung, die auch miteinander interagieren, um Daten auszutauschen. Besonders häufig werden dazu die erweiterten Cluster-Funktionen, das Cluster-Dateisystem, Streaming sowie das Compute Grid und Service Grid verwendet.

Mit Apache Ignite lassen sich umfassende In-Memory-Data-Fabric-Strukturen aufbauen.
Mit Apache Ignite lassen sich umfassende In-Memory-Data-Fabric-Strukturen aufbauen.
(Bild: The Apache Software Foundation)

Seitdem das Produkt unter die Apache-2-Lizenz fällt, stehen alle Komponenten kostenlos zur Verfügung. Entwickler können also das High-Performance-Computing-Modul, das In-Memory Data Grid (IMDG), die CEP-basierte Streaming-Komponente und den Hadoop Accelerator kostenfrei nutzen. Das Produkt steht für Windows, Linux und MacOS X zur Verfügung. Wer sich in das Produkt einarbeiten will, kann die Online-Dokumentation nutzen. Außerdem stellen die Entwickler verschiedene Videos zur Verfügung, die zeigen, welche Möglichkeiten Unternehmen mit GridGain/Apache Ignite haben.

Wer das Produkt nutzen will, der benötigt mindestens Oracle JDK 7 sowie einen Rechner mit Linux, MacOS X ab Version 10.6 oder Windows, beziehungsweise Windows-Server. Um Apache Ignite zu testen, können Entwickler sich auch den Code direkt herunterladen. Die Einrichtung und Verwendung wird in der Dokumentation ausführlich beschrieben.

Kostenpflichtige Edition mit mehr Funktionen

Wer erweiterte Funktionen nutzen will, kann auf die kostenpflichtige Enterprise Edition setzen. Diese verfügt über alle Möglichkeiten der kostenlosen Version, bietet aber erweiterte Funktionen, vor allem für größere Unternehmen. Bestandteil der kostenpflichtigen Edition sind zum Beispiel Dynamic Cache Creation, Java/.NET/C++ Interoperability, Portable Objects, Management & Monitoring GUI, Enterprise-Grade Security, Network Segmentation Protection, Recoverable Local Store, Rolling Production Updates, Data Center Replication, Basic Support (9×5), Enterprise Support (9×5 & 24×7) und Security Updates.

Zusätzlich lassen sich die Daten auch zwischen verschiedenen Rechenzentren replizieren. Die Verwaltung erfolgt über eine eigene Management-Konsole. Diese lässt sich zum Beispiel in der Shell mit dem Befehl $ bin/ignitevisorcmd.sh starten. Zur Anbindung können verschiedene Datenquellen verwendet werden, zum Beispiel SQL, NoSQL und HDFS. Das heißt, das System kann nicht nur Daten sehr schnell berechnen und effizient speichern, sondern auch eine Vielzahl von Quellen für die Verarbeitung nutzen.

Anbindung an Hadoop, Spark, Yarn, Mesos und Docker

Neben der Communitiy-Edition steht auch der In-Memory Accelerator for Hadoop zum Download bereit. Damit können lassen sich die Funktionen von Apache Ignite/GridGain In-Memory Data Fabric gemeinsam mit Hadoop nutzen. Neben lokalen Installationen können Anwender natürlich auch Cluster in verschiedenen Cloud-Diensten buchen, zum Beispiel Amazon Web Services.

Die Aufgabe von In-Memory Data Fabric-Lösungen wie Apache Ignite bestehen vor allem darin, effizient berechnen zu können, welche Daten im Arbeitsspeicher vorgehalten werden müssen. Andere Daten werden auch bei der Verwendung von Hadoop auf Datenträgern abgelegt. Ignite verwendet als Zwischenspeicher die JCache-Spezifikation (JSR 107).

Ein weiterer Vorteil von Apache Ignite liegt darin, dass das Produkt auch mit anderen Big-Data-Produkten unter der Apache-Lizenz zusammenarbeitet. Ignite kann Komponenten von Spark, Hadoop, YARN und Mesos für seine Berechnungen nutzen. Zusätzlich besteht die Möglichkeit Apache Ignite in Docker-Container zu betreiben. Dazu wird in der Shell der folgende Befehl verwendet:

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

sudo docker pull apacheignite/ignite

Die Entwickler stellen eine Hilfe zur Verfügung, mit der Entwickler die Umgebung in Docker-Containern betreiben können.

Alternative Hazelcast

Neben Apache Ignite spielt im Bereich der In-Memory-Data-Fabric-Lösungen auch Hazelcast eine wichtige Rolle. Auch hierbei handelt es sich um ein In-Memory Data Grid unter der Apache-2-Lizenz. In vielen Umgebungen bietet Hazelcast eine bessere Leistung als Apache Ignite. Auch dieses Produkt bietet in aktuellen Versionen quelloffene Clients für C++- und .NET. Außerdem lässt sich das Produkt hervorragend in Docker-Container betreiben. Dazu stehen bereits spezielle Images auf dem Docker-Hub zur Verfügung.

Fazit

Im Big-Data-Bereich spielt die sehr schnelle Verarbeitung und Speicherung von Daten eine immer wichtigere Rolle. Neben der herkömmlichen Verwaltung sehr großer Datenmengen müssen Ergebnisse mittlerweile nahezu in Echtzeit zur Verfügung stehen. Mit herkömmlichen Mitteln können Unternehmen daher kaum mehr arbeiten. Für den effizienten Einsatz einer Big-Data-Umgebung spielt daher die Speicherung im Arbeitsspeicher der verschiedenen Server eine immer wichtigere Rolle. Hier können In-Memory-Data-Fabric-Lösungen wie Apache Ignite punkten.

Da das Produkt auch als Open-Source-Lösung zur Verfügung steht, können Unternehmen die Einbindung erst testen und bei Bedarf dann immer noch die kostenpflichtige Version lizenzieren. Eine bekannte Alternative zu GridGain/Apache Ignite ist, wie bereits erwähnt, Hazelcast. Wer eine In-Memory Data Fabric-Lösung einführen will, sollte sich daher auch dieses Produkt ansehen.

(ID:43972222)