Interview mit Fabian Hueske, Co-Founder data Artisans

Apache Flink: Modernes Stream Processing für Big Data und Machine Learning

Dominik Mohilo

Fabian Hueske

Für das Stream Processing gab es bereits vor Apache Flink Frameworks wie Apache Spark und Apache Kafka. Während diese beiden Frameworks allerdings erst im Nachhinein auf die Datenstrom-Verarbeitung optimiert wurden, wurde Apache Flink für diesen Anwendungszweck von Grund auf designt. Fabian Hueske, Co-Founder und Software Engineer bei data Artisans, spricht im Interview über die Unterschiede zwischen den Frameworks und die Zukunft des Stream Processings.

JAXenter: Die Gründer des Unternehmens data Artisans haben die Entwicklung des Apache Flink Projektes initiiert, um die Stream-Verarbeitung von Daten in Echtzeit zu ermöglichen. Könnten Sie zunächst das Grundkonzept von Stream Processing erläutern?

Fabian Hueske: Die Stream-Verarbeitung ist ein neues Paradigma in der Datenverarbeitung, bei dem kontinuierlich Ereignisse (z.B. Finanztransaktionen, Website-Verhalten, Daten von IoT-Sensoren) mit sehr geringer Verzögerung verarbeitet werden. Moderne Unternehmen können davon profitieren, weil sie in der Lage sind, unmittelbar auf diese Ereignisse zu reagieren, sobald sie generiert werden, also wenn sie am kritischsten sind.

Die Stream-Verarbeitung unterscheidet sich von den bisher verwendeten Technologien, da sie Daten direkt zum Zeitpunkt der Generierung verarbeitet. Klassische Datenbanken im Vergleich basieren auf dem Ansatz, dass Daten zunächst abgespeichert werden müssen, bevor Unternehmen rückblickend Einblicke durch Geschäftsanalysen (Business Intelligence) gewinnen und entsprechende Maßnahmen ergreifen können.

JAXenter: Welche Vorteile bietet Apache Flink im Vergleich zu anderen Technologien wie Apache Spark oder Apache Kafka?

Fabian Hueske: Apache Flink wird von Entwicklern verwendet, um Datenströme mit sehr hohem Volumen mit sehr geringer Latenz zu analysieren und zu verarbeiten. Das können Daten sein, die von einer Message Queue oder einem Dateisystem gelesen werden. Durch die Verwendung von Apache Flink und einer Daten-Streaming-Architektur können Unternehmen sowohl innerhalb von Millisekunden auf Erkenntnisse aus Ereignissen reagieren als auch die Anforderungen der historischen Datenverarbeitung mit einer einzigen Plattform abdecken.

Apache Flink ist leistungsfähig, dabei aber flexibel und expressiv.

Apache Flink ist leistungsfähig, dabei aber flexibel und expressiv. Gleichzeitig ist Flink agnostisch in seiner Verwendung, was die große Akzeptanz und das breite Anwendungsspektrum in der Praxis beweisen.
Im Vergleich zu Apache Kafka und Apache Spark wurde Apache Flink als Stream-Processing-Framework mit hohem Durchsatz, geringer Latenzzeit und exakter Semantik entworfen und entwickelt, während andere Frameworks ihre Ursprünge in der Batch-Verarbeitung (Spark) oder der Speicherung und Verteilung von Nachrichten (Kafka) haben und später um die Fähigkeit der Datenstrom-Verarbeitung ergänzt wurden.

Apache Flink wird heute für die größten Anwendungsfälle der Welt im Bereich Stream Processing eingesetzt. Zum Beispiel verarbeitet Netflix mit Flink mehr als 5 Billionen Ereignisse pro Tag (50+ Millionen Ereignisse pro Sekunde) auf tausenden von CPU-Kernen.

JAXenter: Für welche Anwendungen oder Anwendungsszenarien ist der Einsatz von Stream Processing wie Apache Flink interessant?

Fabian Hueske: Apache Flink weist die am schnellsten wachsende Akzeptanz unter vielen anderen Open-Source-Projekten auf, was die Anwendungen, die die Vorteile des Frameworks nutzen, zu einer sich ständig erweiternden Landschaft macht.

Unternehmen verwenden Apache Flink, um geschäftskritische Anwendungen wie Echtzeitanalysen, Machine Learning, Such- und Content-Ranking sowie Betrugserkennung zu betreiben. Anwendungsfälle im Finanzdienstleistungssektor sind beispielsweise Stammdatenmanagement, Kapitalrisikomanagement sowie Echtzeit-Empfehlungen im eCommerce.

JAXenter: data Artisans stellte auf der Flink Forward Berlin eine neue Technologie vor, die das Spektrum der Anwendungsfälle für Stream-Verarbeitung mit Apache Flink deutlich erhöht. Können Sie mehr über diese Technologie und die technischen Details erklären?

Fabian Hueske: data Artisans Streaming Ledger ist eine zum Patent angemeldete Technologie, die verteilte serialisierbare ACID-Transaktionen für Anwendungen ermöglicht, die auf einer Streaming-Architektur basieren.
Mit der Einführung von Streaming Ledger als Teil der data-Artisans-Plattform können Stream-Processing Anwendungen erstellt werden, die mehrere verteilt gespeicherte Dateneinträge mit ACID-Garantien lesen und aktualisieren. Damit sind erstmals die stärksten Konsistenzgarantien für Stream-Processing-Anwendungen verfügbar, die auch von den meisten (aber nicht allen) relationalen Datenbanken geboten werden. Bisher arbeiteten Stream-Processing-Frameworks konsequent nur auf einem einzigen Eintrag.

Unternehmen verwenden Apache Flink, um geschäftskritische Anwendungen wie Echtzeitanalysen, Machine Learning, Such- und Content-Ranking sowie Betrugserkennung zu betreiben.

Der Streaming Ledger verarbeitet Ereignisströme über mehrere gemeinsame Zustände/Tabellen mit serialisierbarer ACID-Semantik. Ähnlich wie bei serialisierbaren ACID-Transaktionen in einem relationalen Datenbankmanagementsystem modifiziert jede Transaktion alle Tabellen vollständig isoliert gegen gleichzeitige Änderungen. So ist die volle Datenkonsistenz wie in den besten relationalen Datenbanken von heute gewährleistet.

Unsere Technologie bietet diese Garantien bei gleichzeitiger Beibehaltung der vollen Scale-Out-Fähigkeiten von „Exactly-Once“ Stream-Verarbeitung, ohne die Geschwindigkeit, Leistung, Skalierbarkeit oder Verfügbarkeit der Anwendung zu beeinträchtigen. Das Release von data Artisans Streaming Ledger, auf Basis von Apache Flink, erweitert das Spektrum von Anwendungen, die in eine Datenstromarchitektur überführt werden können, signifikant.

JAXenter: Wie sieht die Zukunft von Apache Flink bzw. Stream Processing aus? Wie wird sich diese Technologie weiterentwickeln, welches Potenzial und welche Alternativen gibt es?

Fabian Hueske: Wie auf der Flink Forward Berlin vorgestellt, wird die Apache Flink Community das Framework in Bezug auf Interoperabilität, Unterstützung für SQL auf Datenströmen, Skalierung und Robustheit weiterentwickeln.

Im Detail plant die Community, Elemente zu implementieren, die die Skalierung unterstützen, wie automatische Skalierung und lokale Wiederherstellung. Darüber hinaus wird die Unterstützung für SQL weiterentwickelt, um die Nutzergruppe von Apache Flink um Anwender mit SQL Kenntnissen zu vergrößeren und den Implementierungsaufwand für viele häufige Anwendungsfälle zu reduzieren.

Darüber hinaus möchte die Community den Umgang mit verschiedenen Datenquellen, seien es Echtzeit- oder historische Daten, so einfach wie möglich gestalten. Hierzu soll die Verarbeitung verschiedener Datenquellen und -formaten aus demselben System möglich werden, unter Beibehaltung der bestehenden Garantien und Semantiken.

Fabian Hueske ist Co-Founder und Software Engineer bei data Artisans.
 
 
 
 
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: