In den letzten Jahren haben sich Big-Data-Lösungen enorm weiterentwickelt. Wo zu Beginn die Herausforderung nur in der Verarbeitung großer Datenmengen lag, liegt diese heute oftmals in der Geschwindigkeit bei der Bereitstellung aktueller Daten zur Analyse, beispielsweise das Einkaufsverhalten von Kunden der letzten Stunde.
Man versuchte, aktuelle Daten direkt in einem Stream zu verarbeiten, um diese schnellstmöglich verfügbar zu machen, sodass nicht immer auf die Batch-Auswertungen gewartet werden musste. In diesem Zusammenhang hat sich der Begriff von Fast Data in der Big Data Community etabliert. Fast Data ist ein Ansatz zur Lösung der Ansprüche an die „Velocity“, eine der 5 Vs von Big Data.
Problemstellungen der modernen Datenverarbeitung sind unter anderem:
Wir von CI beschäftigen uns in unserem Big Data Teamtypo3/#_msocom_1typo3/#_msocom_2 mit der Bewältigung solcher Herausforderungen in Ihrem Unternehmen. Um das Prinzip von Fast Data umzusetzen, bietet sich der sogenannte SMACK Stack an. Hierbei handelt es sich um einen Best-of-Breed Ansatz, der ein populärer Vertreter der Implementierung einer Streaming Architektur mit dem Einsatz von Open-Source-Technologien ist.
Einen detaillierten Bericht zu Streaming Architekturen hat mein Kollege Benedikt Schröter verfasst.
Durch das Analysieren von Streams kann eine bessere Einsicht in die aktuellen Ereignisse erlangt werden und Schätzungen über zukünftige gemacht werden, um beispielsweise ein Out-of-Stock Szenario oder Ausfall von wichtigen Maschinen in der Produktion zu vermeiden.
SMACK ist ein Akronym aus den Technologien: Spark, Mesos, Akka, Cassandra und Kafka. SMACK bietet den Vorteil, dass auf die neusten Entwicklungen und Technologien bei der Verarbeitung von Big Data gesetzt wird und so die Verarbeitung deutlich beschleunigt werden kann.
Die Kombination der Tools besteht darin, die Stärken jeder Technologie zu nutzen, um sich optimal zu ergänzen. Im Folgenden ist der Stack veranschaulicht:
Spark - das S in SMACK
Spark ist elementarer Bestandteil von SMACK. Ein Unternehmen, das Big Data effizient betreiben will, kommt nicht drum herum, sich mit Apache Spark auseinanderzusetzen.
Einige Argumente für Spark in diesem Anwendungsumfeld:
Mesos - das M in SMACK
Oftmals wird in dem Zusammenhang das DC/OS (Distributed Cloud Operating System) von Mesosphere, aufbauend auf Apache Mesos, auf dem Cluster konfiguriert, welches das Managen des Clusters durch die hervorragende GUI enorm erleichtert.
Akka - das A in SMACK
Akka ist eine Implementierung des Actor Frameworks, basierend auf dem aus Erlang bekannten Aktoren Konzept und erlaubt das Schreiben von reaktiven Anwendungen, die hochverteilt sind. Im SMACK Kontext ist Akka für das Auf-/Entgegennehmen der Daten zuständig.
Cassandra - das C in SMACK
Cassandra stellt die Datenbank zur Verfügung, mit der SMACK arbeiten kann.
Die Datenbank kann über Rechner verteilt werden und bietet eine hohe Leistung und Skalierbarkeit. Zudem ist auch die Ausfallsicherheit besonders hoch.
Kafka - das K in SMACK
Kafka wird oft als verteiltes Messaging-System angesehen, was es auch im engeren Sinne ist. Die einfache Struktur von Kafka erlaubt es, große Mengen an Daten zwischen mehreren Systemen zu transferieren und dabei linear zu skalieren.
Der SMACK Stack, so wie er ist, ist nicht in Stein gemeißelt. Je nach Anforderungen können individuelle Komponenten ersetzt werden. Beispielsweise könnte auch Yarn oder Kubernetes anstatt Mesos verwendet werden, sowie auch Apache Flink zur (Batch- und) Streamverarbeitung eingesetzt werden.
Es gibt also einige Alternativen zu SMACK.
Die Besonderheit von SMACK besteht darin, dass bewährte Open-Source-Technologien im Big-Data-Bereich zu einem Stack zusammengefügt werden können, sodass Unternehmen von hoher Leistung und sehr schnellem Datendurchsatz profitieren.
Der SMACK Stack kann on-premises sowie auch in der Cloud betrieben werden. Letzteres spart den Betrieb eigener Hardware und ermöglicht eine gute Skalierbarkeit.
Zusammengefasst handelt es sich also bei SMACK um eine Fast-Data-Lösung, um Herausforderungen der (Nahe) Echtzeit-Analyse zu bewältigen.
Für Unternehmen, die die nächste Stufe der modernen Datenverarbeitung erreichen wollen, lohnt es sich, ein Blick auf den SMACK Stack zu werfen.
Weiterführende Links: