Abo
  • IT-Karriere:

Die Verarbeitung unbeschränkter Mengen und die Kappa-Architektur

Dean Wampler vertritt in seinem Artikel Fast Data Architectures for Streaming Applications die Auffassung, die Datenverarbeitung müsse anders betrachtet werden und argumentiert wie folgt: "Wenn alles als Datenstrom betrachtet wird, entweder in Form einer beschränkten Menge (wie bei der Stapelverarbeitung) oder unbeschränkt, dann können Batch- und Speed-Layer nicht nur mit derselben Infrastruktur vereinheitlicht werden, sondern die Batch-Verarbeitung wird dann einfach zum Teil der Datenstrom-Verarbeitung."

Stellenmarkt
  1. Haufe Group, Bielefeld
  2. BWI GmbH, München

Dadurch ist eine modifizierte Architektur namens Kappa entstanden. Sie ist nicht nur eine schnelle Datenarchitektur, sondern fokussiert auch eine neue Denkweise: Denn wenn alles ein Datenstrom ist, haben wir ein neues Paradigma. Und neue Paradigmen ziehen oft eigene Definitionen nach sich, auch hier.

Tyler Akidau, Softwareentwickler bei Google und eng an der Entwicklung der Streaming-Engine und des Streaming-Modells von Google beteiligt, hat sich für die Verwendung der Begriffe beschränkter (Bounded) und unbeschränkter (Unbounded) Datenmengen und Verarbeitung ausgesprochen, um die Begrifflichkeiten zu klären und den Begriff Streaming beziehungsweise Datenstrom zu ersetzen: "Unbounded Data: Eine stetig wachsende, im Grunde unendliche Datenmenge. Diese Datenmengen werden häufig als Datenströme bezeichnet. Die Begriffe 'Datenströme' oder 'Batch' sind jedoch problematisch, wenn es um Datenmengen geht, weil [..] sie implizit von der Verwendung einer bestimmten Art von Verarbeitung und Interpretation dieser Datenmengen ausgehen."

Der entscheidende Unterschied zwischen diesen beiden Arten von Datenmengen ist aber tatsächlich ihre (mathematische) Beschränktheit. Deshalb ist es sinnvoll, Begriffe zu verwenden, die diesen Unterschied auch einfangen. Im weiteren Artikelverlauf wird deswegen der Begriff Unbounded Data (englisch für Unbegrenzte Datenmenge) für unendliche Datenmengen beziehungsweise Datenströme verwendet. Der Begriff Bounded Data (Begrenzte Datenmenge) steht hingegen für endliche Datenmengen wie sie innerhalb von Stapelprozessen typisch sind.

Die englische Bezeichnung Unbounded Data processing beschreibt die kontinuierliche Datenverarbeitung eben solcher unbeschränkter Datenmengen. Die weniger sperrige Bezeichnung Streaming beziehungsweise Streamen, um eine solche Verarbeitung von Datenströmen vor allem im Englischen zu bezeichnen, ist zwar häufig praktisch, sie führt aber je nach Kontext zu Missverständnissen über die Art der Datenmengen und den Umgang mit ihnen. Im Deutschen zum Beispiel ist Streamen oft ein Synonym für das Senden und Empfangen von Video-Datenströmen. Im Englischen hingegen kann Streaming sowohl den Umfang der Datenmengen als auch deren Transport und die Verarbeitung durch Anwendungen bezeichnen.

Für die Verarbeitung von Unbounded Data wurden und werden häufig immer noch die verfügbaren und bekannten Konzepte zur Stapelverarbeitung und zum Batchbetrieb genutzt. Die genutzten Anwendungen werden dabei einfach immer wieder aufgerufen. Umgekehrt kann ein gut geplantes System für das Unbounded Data Processing eben mehr, als nur Batch-Jobs von Bounded Data abzuarbeiten.

Nachrichten-Queues

Wie das gehen kann, erklärt Dean Wampler ebenfalls: "Datenströme erreichen das System über Socket-Verbindungen von anderen Servern sowohl innerhalb der Arbeitsumgebung als auch von außerhalb, wie Telemetriedaten von IoT-Geräten, Feeds aus Sozialen Netzwerken wie zum Beispiel über Twitters Firehose-Dienst et cetera. Diese Datenströme werden in einen verteilten Kafka-Cluster eingespeist, um sie für eine bestimmte Zeitspanne skalierbar und robust zu speichern. Kafka ist das Rückgrat der Architektur".

Die Daten gelangen also über die Infrastruktur einer Nachrichten-Queue in die Verarbeitungspipeline. Die Queue dient als ein Eingangslager und Verteilzentrum für ein System des Unbounded Data Processing.

Was als nächstes passiert, ist kompliziert. Wampler hält die Lösung mit Kafka-Clustern dennoch für die derzeit beste: "Für die Stream-Verarbeitung mit geringen Latenzen ist es der robusteste Mechanismus, die Daten mit Hilfe von [Kafka] in die entsprechenden Verarbeitungsmechanismen einzuspeisen. Und derzeit buhlen eine ganze Reihe von entsprechenden Lösungen um Aufmerksamkeit."

Doch bevor wir auf diese Lösungen zu sprechen kommen, sollten wir noch einen kurzen Blick auf die Nachrichten-Queues werfen. Systeme wie Kafka sind nicht neu. Die IBM MQ Series und verschiedene Implementierungen der Java-JMS-Spezifikation, wie zum Beispiel Apache Camel oder RabbitMQ, existieren bereits seit längerem. Sie sind gut bekannt und wir können sie als die Vorläufer für das Unbounded Data Processing sehen.

Konzeptionell unterscheidet sich Kafka nicht großartig von ihnen. Der Unterschied ist laut Jay Kreps, einem der Kafka-Erschaffer, die Skalierbarkeit von Kafka: "Wir kommen mit Billiarden von Nachrichten zurecht. Zeitgemäße, cloudbasierte Systeme sind einfach besser darin, solche technischen Möglichkeiten existierten früher nicht. Wir profitieren davon, etwas später angefangen zu haben."

Aber Kafka ist nicht die einzige Möglichkeit. Wer bereits eine Nachrichten-Queue betreibt, kann auch diese eventuell als Eingangspunkt für eine Datenverarbeitungs-Pipeline nutzen. Wer cloudbasierte Anwendungen aufbaut, kann bei den großen Cloud-Anbietern auf deren Kafka-Alternativen zurückgreifen: AWS Kinesis, Azure Stream Analytics und Google Cloud Dataflow. Außerdem gibt es mit Apache Pulsar ein Open-Source-Projekt, das sich als Kafka-Alternative positioniert.

Ohne näher auf die einzelnen Lösungen der Cloud-Anbieter einzugehen oder einen detaillierten Vergleich mit Kafka anzustellen, müssen wir jedoch einen Punkt hervorheben, der für alle Lösungen von Cloud-Anbietern gilt: Werden bereits Cloud-Lösungen eines Anbieters genutzt, erfolgt die Einbindung der Nachrichten-Queue meist nahtlos. Aber diese strategische Entscheidung bedeutet auch, sich stark an einen Anbieter zu binden.

Als weiterer wichtiger Punkt ist zu nennen, dass die Grenzen zwischen Nachrichten-Queue und Streaming nicht ganz eindeutig sind. Nachrichten-Queues sind mehr ein Verkehrsleitsystem, das eingehende Daten verpackt und zu ihren Zielorten bringt. Je nach Lösung können sie die Daten auch verarbeiten und umwandeln.

Zum Beispiel kann Kafka nicht nur Analyseprozesse befüllen, sondern selbst als Basis für operative Anwendungen dienen. Es unterstützt eine Reihe von Verarbeitungsmechanismen und auch SQL für Datenabfragen. Damit können Entwickler per SQL-Abfrage gezielt relevante Datenmengen auswählen und damit weiter arbeiten. Es ist sogar möglich, Daten in Kafka dauerhaft zu speichern und es als Plattform für Microservices zu nutzen.

 Begriffe, Architekturen, Produkte: Große Datenmengen in Echtzeit analysierenStreaming-Systeme 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


Anzeige
Top-Angebote
  1. 179,90€ (Bestpreis!)
  2. 24,99€ (Bestpreis!)
  3. 44,90€ (Bestpreis!)
  4. (u. a. Assassin's Creed Odyssey für 24,99€, Monster Hunter World - EU Key für 30,49€)

FlashBFE 20. Feb 2019

Ebenso, +1

FlashBFE 20. Feb 2019

Nein, ein Stapel ist eben keine Warteschlange. Das eine ist FILO, das andere FIFO. Und...

lennartgrosser1... 06. Feb 2019

Genau genommen ist Hadoop kein Data Warehouse, sondern ein Framework, welches verteiltes...

DummyAccount 05. Feb 2019

Spark ist übrigens in der Tat immer noch micro-batch orientiert. Flink dagegen bietet...


Folgen Sie uns
       


Asrock DeskMini A300 - Test

Der DeskMini A300 von Asrock ist ein Mini-PC mit weniger als zwei Litern Volumen. Der kleine Rechner basiert auf einer Platine mit Sockel AM4 und eignet sich daher für Raven-Ridge-Chips wie den Athlon 200GE oder den Ryzen 5 2400G.

Asrock DeskMini A300 - Test Video aufrufen
Kontist, N26, Holvi: Neue Banking-Apps machen gute Angebote für Freelancer
Kontist, N26, Holvi
Neue Banking-Apps machen gute Angebote für Freelancer

Ein mobiles und dazu noch kostenloses Geschäftskonto für Freiberufler versprechen Startups wie Kontist, N26 oder Holvi. Doch sind die Newcomer eine Alternative zu den Freelancer-Konten der großen Filialbanken? Ja, sind sie - mit einer kleinen Einschränkung.
Von Björn König


    Lightyear One: Luxus-Elektroauto fährt auch mit Solarstrom
    Lightyear One
    Luxus-Elektroauto fährt auch mit Solarstrom

    Ein niederländisches Jungunternehmen hat ein ungewöhnliches Fahrzeug entwickelt, das Luxus und Umweltfreundlichkeit kombiniert. Solarzellen auf dem Dach erhöhen die Reichweite um bis zu 220 Kilometer.
    Von Wolfgang Kempkens

    1. EZ-Pod Renault-Miniauto soll Stadtverkehr in Kolonne fahren
    2. Elektromobilität EnBW will weitere 2.000 Schnellladepunkte errichten
    3. Elektromobilität Verkehrsminister will Elektroautos länger und mehr fördern

    Motorola One Vision im Hands on: Smartphone mit 48-Megapixel-Kamera für 300 Euro
    Motorola One Vision im Hands on
    Smartphone mit 48-Megapixel-Kamera für 300 Euro

    Motorola bringt ein weiteres Android-One-Smartphone auf den Markt. Die Neuvorstellung verwendet viel Samsung-Technik und hat ein sehr schmales Display. Die technischen Daten sind für diese Preisklasse vielversprechend.
    Ein Hands on von Ingo Pakalski

    1. Moto G7 Power Lenovos neues Motorola-Smartphone hat einen großen Akku
    2. Smartphones Lenovo leakt neue Moto-G7-Serie

      •  /