Daten sammeln, auswerten und verteilen

Von Big Data zu Fast Data mit Apache Kafka

03.08.2018
Von 


Frank Pientka ist Gründungsmitglied der iSAQB und arbeitet als Multi-Cloud-Architekt. Er hat jahrzehntelange Erfahrung in der Modernisierung von Anwendungen und besitzt mehrere AWS-Zertifizierungen.

Anwendungsfälle

Die Verarbeitung von zeitbezogenen Ereignissen sind ein naheliegender Anwendungsfall für Kafka. Hierzu zählen auch Protokolldateien oder Sensordaten aus dem Bereich IoT. Auch für neuronale Netze bietet sich Kafka an, um z. B. neue Lernmodell mit produktiven Daten in Realzeit zu trainieren. Das hat den Vorteil, dass die Daten nicht doppelt gespeichert werden, sondern dass die Ergebnisse zwischen zwei parallel arbeitenden Modellen schneller verglichen und angepasst werden können, was letztendlich die Ergebnisqualität und das Lernen verbessert.

Gerade für eine große Anzahl von Geräten mit einer stark schwankenden Last ist Kafka gut geeignet, da die Information über den Verarbeitungszustand nicht zentral, sondern bei den Clients gehalten wird. Dadurch ist ein Wiederaufsetzen im Fehlerfall oder ein Nachfahre von verpassten Informationen einfacher möglich.

Fazit

Bisher wurden die Themen "asynchrone Nachrichten- und Datenverarbeitung" immer getrennt betrachtet. Durch die Notwendigkeit, immer mehr Daten in immer schnellerer Zeit verarbeiten zu müssen, werden neue Anforderungen an die Near-Realtime-Verarbeitung von Daten und Nachrichten gestellt. Mit Apache Kafka können beide Welten miteinander verbunden werden. Dabei ist die Einstiegshürde geringer als bei vergleichbaren Produkten, da diese einfach in die Entwicklung integriert und zu einem skalierbaren Betrieb ausgebaut werden kann. Über Konnektoren können viele typische Systeme schnell eingebunden werden.

Mit KTable und KSQL existieren in Confluent einfache Auswertemöglichkeiten, sodass viele Berechnungen direkt auf dem Datenstrom stattfinden können, ohne den Umweg über Zwischenspeicher zu gehen. Dadurch, dass inzwischen Konnektoren bekannter Hersteller, wie IBM, Oracle, SAP und Microsoft, für Kafka existieren, wird es noch einfacher, Kafka nicht nur in der Cloud, sondern auch in Unternehmen zu nutzen. Die Liste der Firmen, die Kafka nutzen, liest sich deswegen wie das Who's who des Internets und auch die Partnerliste von Confluent wird immer länger.

Die Möglichkeit bei neuen eventbasierten Architekturen einen Ort der Wahrheit (Single source of truth) zu haben, macht die Datenaktualität bei gleichzeitiger Historisierung einfacher. Insofern ist Kafka nicht nur für IoT, die Log-Verarbeitung oder KI eine interessante Option, sondern lässt die gesamte Datenverarbeitung von Grund auf neu denken. Realtime von Daten wird generell immer wichtiger, da der Wert der Daten oft mit dem Zeitraum sinkt, bis daraus Informationen und damit Entscheidungen gewonnen werden können.