• IT-Karriere:
  • Services:

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. Psychiatrisches Zentrum Nordbaden, Wiesloch
  2. Rail Power Systems 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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Begriffe, Architekturen, Produkte: Große Datenmengen in Echtzeit analysierenStreaming-Systeme 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)

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
       


E-Book-Reader Pocketbook Color im Test

Das Pocketbook Color ist der erste E-Book-Reader mit einem Farbbildschirm. Wir haben uns das Gerät angeschaut.

E-Book-Reader Pocketbook Color im Test Video aufrufen
5G: Nokias und Ericssons enge Bindungen zu Chinas Führung
5G
Nokias und Ericssons enge Bindungen zu Chinas Führung

Nokia und Ericsson betreiben viel Forschung und Entwicklung zu 5G in China. Ein enger Partner Ericssons liefert an das chinesische Militär.
Eine Recherche von Achim Sawall

  1. Quartalsbericht Ericsson mit Topergebnis durch 5G in China
  2. Cradlepoint Ericsson gibt 1,1 Milliarden Dollar für Routerhersteller aus
  3. Neben Huawei Telekom wählt Ericsson als zweiten 5G-Ausrüster

Ausprobiert: Meine erste Strafgebühr bei Free Now
Ausprobiert
Meine erste Strafgebühr bei Free Now

Storniert habe ich bei Free Now noch nie. Doch diesmal wurde meine Geduld hart auf die Probe gestellt.
Ein Praxistest von Achim Sawall

  1. Gesetzentwurf Weitergabepflicht für Mobilitätsdaten geplant
  2. Personenbeförderung Taxibranche und Uber kritisieren Reformpläne

Energiewende: Wie die Begrünung der Stahlindustrie scheiterte
Energiewende
Wie die Begrünung der Stahlindustrie scheiterte

Vor einem Jahrzehnt suchte die europäische Stahlindustrie nach Technologien, um ihren hohen Kohlendioxid-Ausstoß zu reduzieren, doch umgesetzt wurde fast nichts.
Eine Recherche von Hanno Böck

  1. Wetter Warum die Klimakrise so deprimierend ist

    •  /