SMACK Stack

So analysieren Sie Daten mit Spark, Mesos, Akka, Cassandra und Kafka

| Autor / Redakteur: Thomas Joos / Nico Litzel

SMACK ist eine Big-Data-Plattform, die auch in Amazon Web Services betrieben werden kann.
SMACK ist eine Big-Data-Plattform, die auch in Amazon Web Services betrieben werden kann. (Bild: Codecentric AG)

Bei SMACK handelt es sich um eine Big-Data-Plattform, die Spark, Mesos, Akka, Cassandra und Kafka miteinander kombiniert. Der Vorteil dieser Kombination liegt im Zusammenspiel der verschiedenen Werkzeuge zu einer idealen Analyse. Dabei werden die Stärken der eingesetzten Tools genutzt, die Schwächen durch die anderen Tools ausgeglichen.

Da für den Einsatz von Big-Data-Plattformen oft eine Vielzahl von Tools und auch Hardware notwendig ist, um einen optimalen Cluster zu betreiben, kann es sinnvoll sein, Tools zu kombinieren. Durch die Kombination der bekanntesten Tools im Big-Data-Umfeld zu einer gemeinsamen Plattform erreichen Unternehmen ein optimales Ergebnis. Der Betrieb von SMACK kann auch problemlos in der Cloud durchgeführt werden, zum Beispiel in Amazon Web Services (AWS).

Darum ist SMACK leistungsstärker als viele andere Lösungen

SMACK bietet den Vorteil, dass auf die neusten Entwicklungen und Technologien bei der Verarbeitung von Big Data gesetzt wird. Langsamere Techniken, wie zum Beispiel MapReduce, werden in SMACK und den eingesetzten Produkten nicht mehr verwendet. Das Problem an veralteten Big-Data-Umgebungen besteht vor allem im hohen Zeitverbrauch der zu messenden Daten. Mit SMACK soll die Verarbeitung deutlich beschleunigt werden.

Das Problem in vielen Big-Data-Umgebungen ist, dass Unternehmen zahlreiche Tools kombinieren, die nicht immer ideal zusammenarbeiten. Die Tools sind in ihrem jeweiligen Umfeld ideal, die Kombination mehrerer Tools ist aber häufig problematisch, weil die Daten nicht effizient weitergegeben werden können. Viele Lösungen im Big-Data-Umfeld geben Informationen in Echtzeit aus oder bearbeiten Daten in Echtzeit. Prominente Beispiele dafür sind Storm oder Akka. Es gibt aber auch Big-Data-Produkte, die Daten erst verarbeiten und dann nach einiger Zeit Informationen liefern, zum Beispiel Pig oder Hive. In sehr vielen Fällen werden die beiden unterschiedlichen Ansätze miteinander kombiniert, um die Stärken zu nutzen und die Schwächen auszugleichen.

Lamda war gestern, Fast Data ist heute

Solche Kombinationen werden häufig auch als Lambda-Architektur bezeichnet. Bei dieser Technologie verarbeiten die langsameren Big Data Tools die Daten und geben das Ergebnis dann an die Clients weiter. Die Daten werden dabei häufig auf mehr oder weniger schnellen Speichersystemen abgelegt.

Die Echtzeit-Tools arbeiten vor allem mit dem Hauptspeicher der angebundenen Clusterknoten und nutzen dabei oft die Daten, die durch die langsameren Systeme auf den Datenspeicher geschrieben wurden. Bei einer solchen Infrastruktur kommen also drei Schichten zum Einsatz:

  • 1. Die langsameren Tools zur Datenverarbeitung
  • 2. Der Datenspeicher
  • 3. Die schnelleren Tools, die teilweise ebenfalls auf den Datenspeicher zugreifen

Eine solche Struktur ist nicht immer ideal, vor allem da die In-Memory-Datenbanken im Hauptspeicher teilweise noch auf das langsamere Speichersystem zugreifen müssen. Dazu kommt, dass die Schnittstellen der verschiedenen Programme nicht immer kompatibel zu einander sind.

Gegen diesen Ansatz geht Fast Data vor. Besonders wichtig in diesem Bereich ist Spark. Die Apache-Open-Source-Lösung verbindet sich mit verschiedenen Systemen im Big-Data-Bereich und kann parallele Berechnungen durchführen, auch in verteilten Clustern. Spark ist elementarer Bestandteil von SMACK. Wer sich mit Big Data und Hadoop beschäftigt, kommt auf Dauer um Apache Spark nicht herum. Durch das Produkt wird die Verwendung von Hadoop in eine neue Dimension der Leistung gehoben, auf die kein Unternehmen verzichten kann, welches Big Data effizient betreiben will. Entwickelt wurde das Produkt ursprünglich am AMPLab der University of California in Berkeley.

Im Daytona Gray Sort Benchmark siegte Spark in der 100-TByte-Klasse mit einem neuen Weltrekord. Der alte Weltrekord lag bei 72 Minuten und wurde von einem Hadoop-MapReduce-Cluster aufgestellt. Spark hat den alten Rekord mit 23 Minuten geschlagen und das mit einem Zehntel der Rechenkraft. Es wird schnell klar, dass Spark in Bereiche der Big-Data-Verarbeitung vordringen kann, die für Hadoop nicht möglich sind.

Apache Spark erweitert die Möglichkeit von Hadoop-Clustern um Echtzeitabfragen, ähnlich zu SQL. Dazu bietet das Framework In-Memory-Technologien, kann also Abfragen und Daten direkt im Arbeitsspeicher der Clusterknoten speichern. Da die Abfragen sich auch parallel auf mehrere Knoten verteilen lassen, steigt die Leistung enorm. Betreiben lässt sich Spark in AWS auch als Cluster auf einer EC2-VM oder direkt in YARN oder Apache Mesos integriert. Mesos ist ebenfalls wichtiger Bestandteil von SMACK.

Apache Kafka und Cassandra – Realtime Analytics

Cassandra stellt die Datenbank zur Verfügung, mit der SMACK arbeiten kann. Die Datenbank kann über Rechenzentren verteilt werden und bietet eine extrem hohe Leistung und Skalierbarkeit. Auch die Ausfallsicherheit ist besonders hoch.

In Big-Data-Umgebungen fallen dauerhaft große Mengen an Logs an. Diese müssen verwaltet, versendet, und oft auch gespeichert werden. Die ursprünglich von LinkedIn entwickelte Lösung Apache Kafka ist dazu in der Lage. Wenn Logdateien in hoher Anzahl analysiert werden sollen, stellt das sehr große Anforderungen an das Backend-System, welches die Daten speichern und bereitstellen soll. Kommt in ein solches Szenario noch der Bedarf auf, diese großen Datenmengen schnell verarbeiten zu müssen, ist Apache Kafka das ideale System dafür. LinkedIn hat das System entwickelt, um die extrem hohen Mengen an Protokolldateien nutzen zu können, die in dem sozialen Netzwerk anfallen. Seit 2011 ist Kafka ein Apache-Incubator-Projekt.

Apache Kafka besticht vor allem durch den sehr hohen Datendurchsatz. Kafka kann Protokolldateien auswerten, analysieren und versenden. Auch mehrere tausend Nachrichten pro Sekunde spielen dabei keine Rolle. Kafka nutzt dazu eine Java Virtual Machine (JVM). Einer der herausragenden Vorteile von Kafka ist die Erstellung einer Schnittstelle zwischen den schnellen Datenspeichern auf Servern.

SMACK testen

Die Entwickler stellen einen Blogbeitrag zur Verfügung, in dem erklärt wird, wie sich in AWS ein SMACK Stack aufbauen lässt. Da einige Ressourcen in AWS benötigt werden, kostet der Test zwar etwas Geld, dafür wird aber schnell klar, welche Vorteile SMACK bietet.

Fazit

SMACK besticht vor allem darin, bekannte Open-Source-Projekte im Big-Data-Bereich zu kombinieren. Durch die gemeinsame Verwendung von Spark, Mesos, Akka, Cassandra und Kafka profitieren Unternehmen von hoher Leistung und sehr schnellem Datendurchsatz. SMACK Stack kann problemlos in der Cloud betrieben werden und spart dadurch den Betrieb eigener Hardware ein. Bei SMACK handelt es sich also um eine Fast-Data-Lösung, die sich auch optimal automatisieren lässt. Basis dieser Automatisierung stellt Mesos dar, ebenfalls wichtiger Bestandteil von SMACK. Es lohnt sich für Unternehmen ein Blick auf SMACK zu setzen, und sei es nur, um die Lösung in Kombination mit Hadoop zu nutzen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44461216 / Infrastruktur)