Verarbeitung von Streaming-Daten in Kafka mit Timeplus Proton
Im April 2024 betrat Jove Zhong, Mitgründer von Timeplus, beim Seattle Unstructured Data Meetup die Bühne, um einen Vortrag über "Processing Streaming Data in Kafka with Timeplus Proton." zu halten. Als Experte für Daten-Streaming und Echtzeitverarbeitung gab Jove einen umfassenden Überblick darüber, wie Timeplus in Kafka integriert wird, um Echtzeitdaten zu verarbeiten, und präsentierte uns zugleich Live-Demos, die sowohl fesselnd als auch lehrreich waren. Tauchen wir ein in die wichtigsten Punkte und Erkenntnisse aus dieser aufschlussreichen Session.
Link zur YouTube-Aufzeichnung von Jove Zhongs Vortrag: Den Vortrag auf YouTube ansehen
Timeplus und seine Echtzeitfähigkeiten
Jove Zhong ist ein Maestro der Softwareentwicklung. Wenn du mir nicht glaubst, sieh dir seine Erfolgsbilanz an. Mitgründer und Head of Product bei Timeplus, ehemaliger Engineering Director bei Splunk, Inhaber von 17 Patenten und 4 AWS-Zertifizierungen. Ach ja, und seit 2010 ist er ein „Weltklasse-Vater“. Jove zieht faszinierende Parallelen zwischen Vaterschaft und Unternehmensführung und zeigt, dass die Förderung eines Kindes und das Führen eines Unternehmens mehr gemeinsam haben, als man denken würde.
Damit wollen wir uns Joves Vortrag über „Processing Streaming Data in Kafka with Timeplus Proton“ näher ansehen.
Mit Hauptsitz in Santa Clara, Kalifornien, revolutioniert Timeplus die Echtzeitdatenverarbeitung mit seiner innovativen Streaming-SQL-Datenbank und Echtzeit-Analytics-Plattform. Unterstützt von führenden Risikokapitalgebern und Technologen bietet Timeplus sowohl Open-Source- als auch kommerzielle Versionen und ermöglicht so die effiziente Verwaltung und Verarbeitung von Live-Datenströmen. Zu den herausragenden Funktionen gehören dynamische Dashboards und SQL-basierte Verarbeitung, wodurch die Manipulation von Echtzeitdaten zugänglich und benutzerfreundlich wird.
Timeplus Proton, die Kern-Engine von Timeplus, dient als leistungsstarke Alternative zu Plattformen wie ksqlDB und Apache Flink. Sie ist leichtgewichtig, in C++ geschrieben und auf Performance optimiert. Mit Funktionen wie Streaming-ETL, Windowing-Funktionen und Aggregation mit hoher Kardinalität ermöglicht Proton Entwicklern, Herausforderungen bei der Verarbeitung von Streaming-Daten effizient zu bewältigen. Die Plattform unterstützt verschiedene Datenquellen, darunter Apache Kafka, Confluent Cloud und Redpanda, und ermöglicht Echtzeit-Einblicke und -Warnmeldungen.
Ob für FinTech, KI, maschinelles Lernen oder Observability: Timeplus bietet End-to-End-Funktionen, die Datenteams dabei helfen, Streaming- und historische Daten schnell und intuitiv zu verarbeiten. Es ist eine einfache, leistungsstarke und kosteneffiziente Lösung, die für Organisationen jeder Größe und Branche entwickelt wurde.
Live-Demo: Echtzeitüberwachung des Bitcoin-Preises
Zum Auftakt demonstrierte Jove die Echtzeitfähigkeiten von Timeplus anhand eines Live-Feeds des Bitcoin-Preises. Diese Demo war nicht nur eine Demonstration technologischer Stärke, sondern auch eine Veranschaulichung, wie Timeplus Daten schneller verarbeiten und anzeigen kann als herkömmliche Quellen wie Google. Das Publikum war fasziniert, als Jove den Echtzeit-Feed mit dem von Google verglich und dabei die überlegene Leistung von Timeplus hervorhob.
Kafka: Das Rückgrat des Echtzeit-Datenstreamings
Jove gab einen tiefen Einblick in Kafka und erklärte dessen Architektur und Funktionalität. Kafka ist eine leistungsstarke Open-Source-Event-Streaming-Plattform zur Verarbeitung vielfältiger Datentypen und zur Verwaltung verteilter Computing-Umgebungen. In Java und Scala geschrieben, ist Kafka darauf ausgelegt, Echtzeit-Datenfeeds mit hohem Durchsatz und geringer Latenz zu verarbeiten. Kafka genießt das Vertrauen von über 80 % der Fortune-100-Unternehmen, darunter Branchenriesen wie Goldman Sachs, Target und Cisco, und ist für seine Zuverlässigkeit und Performance bekannt.
Kafkas Architektur verstehen
Kafka fungiert als verteilte Datenstreaming-Plattform, die Millionen von Ereignissen pro Sekunde verarbeiten kann. Durch die Visualisierung der Kafka-Architektur anhand des folgenden Diagramms demonstrierte Jove die Fähigkeit der Plattform, Echtzeit-Datenfeeds mit hohem Durchsatz und geringer Latenz zu verarbeiten, was sie zu einem leistungsstarken Werkzeug für moderne Datenstreaming-Anforderungen macht. Das Diagramm erklärt die Architektur, wie Producer, Consumer und Broker zusammenarbeiten, um sicherzustellen, dass Daten effizient verarbeitet und geliefert werden. Er erörterte außerdem Kafkas Replikations- und Partitionierungsstrategien, die Fehlertoleranz und Skalierbarkeit bieten.
Kafka fungiert als verteiltes System, das aus Servern und Clients besteht, die über ein leistungsstarkes TCP-Netzwerkprotokoll kommunizieren. Es kann auf Bare-Metal-Hardware, virtuellen Maschinen und Containern sowohl in On-Premise- als auch in Cloud-Umgebungen bereitgestellt werden.
Die Architektur von Kafka, wie im Diagramm dargestellt, besteht aus mehreren Schlüsselkomponenten:
Clients und Broker: Kafka fungiert als verteiltes System, das aus Clients und Brokern besteht. Clients sind Anwendungen, die Nachrichten produzieren und konsumieren. Broker sind Server, die diese Nachrichten speichern und weiterleiten. Das Diagramm zeigt, wie sich Clients mit einem Broker verbinden, der als Bootstrap-Server fungiert, um die Daten an andere Broker im Cluster weiterzuleiten.
Producer und Consumer: Producer sind dafür verantwortlich, Daten an Kafka-Topics zu senden, während Consumer Daten aus diesen Topics lesen. Das Diagramm zeigt, wie ein Producer Nachrichten an verschiedene Topics (Topic A, Topic B, Topic C) über mehrere Broker hinweg sendet. Consumer lesen dann aus diesen Topics, wodurch sichergestellt wird, dass Daten effizient verarbeitet und geliefert werden.
Topics und Partitionen: Kafka-Topics werden in Partitionen unterteilt, die eine parallele Verarbeitung von Daten ermöglichen. Jede Partition wird über mehrere Broker repliziert, um Fehlertoleranz sicherzustellen. Das Diagramm zeigt ein Topic mit drei Partitionen, die von verschiedenen Consumern konsumiert werden, und demonstriert, wie Kafka die Last verteilt und eine hohe Verfügbarkeit aufrechterhält.
Skalierbarkeit und Fehlertoleranz: Kafka-Cluster sind hoch skalierbar und können sich über mehrere Rechenzentren oder Cloud-Regionen erstrecken. Die Architektur unterstützt elastische Erweiterung und Verkleinerung und gewährleistet kontinuierlichen Betrieb ohne Datenverlust. Wenn ein Broker ausfällt, kann sich das System erholen, indem es Daten an andere Broker umleitet.
Streaming-LLM und Vektordatenbanken
Ein bedeutender Teil des Vortrags war der Untersuchung gewidmet, wie sich Datenstreaming in Large Language Models (LLMs) und Vektordatenbanken integrieren lässt. Jove betonte das Potenzial dieser Integrationen, KI-Anwendungen zu verbessern und die Datenverarbeitung effizienter und genauer zu machen. Die Verschmelzung von Streaming-Daten mit KI-Modellen kann die Reaktionsfähigkeit und Intelligenz verschiedener Anwendungen erheblich verbessern.
Kürzlich kündigten Zilliz Cloud und Confluent Cloud for Apache Flink® eine Partnerschaft an, die dieses Konzept weiter veranschaulicht. Dadurch können Sie Echtzeit-GenAI-Apps mit Kafka und Flink erstellen; Unternehmen können Echtzeit-Datenpipelines erstellen, die in Vektordatenbanken wie Milvus einspeisen. Dieses Setup ermöglicht die Entwicklung fortschrittlicher KI-Anwendungen wie semantische Echtzeitsuche und Retrieval Augmented Generation (RAG). Mit Echtzeit-Datenverarbeitung können LLMs auf die aktuellsten Informationen zugreifen und so genaue und zeitnahe Antworten in Anwendungen gewährleisten, die von Unternehmenssuche bis hin zu personalisierten Empfehlungen im E-Commerce reichen.
Praktische Anwendungen: KI-gestützte Chatbots
Eine der praktischen Anwendungen, die Jove besprach, war die Nutzung von Echtzeitdaten in KI-gestützten Chatbots. Durch die Nutzung von Echtzeit-Datenströmen können diese Chatbots aktuelle Informationen bereitstellen, wie etwa Aktualisierungen zum Flugstatus. Ein Chatbot könnte Nutzer beispielsweise sofort über Flugverspätungen informieren und alternative Flüge vorschlagen, was die praktischen Vorteile der Echtzeit-Datenverarbeitung demonstriert.
Jove gab ein Beispiel, bei dem du dir vorstellst, mit einem Flugstatus-Bot zu chatten:
User: "Wie ist mein Flugstatus nach New York?"
Chatbot: "Dein Flug hat 2 Stunden Verspätung."
User: "Kann ich einen anderen Flug finden, der mich früher dorthin bringt?"
Chatbot: "Ja, es ist ein alternativer Flug mit einem verbleibenden Sitzplatz verfügbar. Er kostet dich $1500, aber du wirst pünktlich ankommen."
User: "Super, buche ihn für mich."
In diesem Szenario nutzt der Chatbot die Echtzeit-Datenströme von Kafka, um aktuelle Fluginformationen bereitzustellen. Er informiert den Nutzer nicht nur über Verspätungen, sondern prüft auch verfügbare Flüge, Sitzplätze und Preise in Echtzeit. Der Chatbot präsentiert diese Informationen dann dem Nutzer und ermöglicht so schnelle und fundierte Entscheidungen. Dieses Beispiel zeigt, wie Kafkas Fähigkeiten zur Echtzeit-Datenverarbeitung die Funktionalität und Reaktionsfähigkeit KI-gestützter Chatbots verbessern und sie zu wertvollen Werkzeugen für Nutzer machen, die sofortige und genaue Informationen suchen.
Integration von Timeplus mit Vektordatenbanken
Joves Demo wurde mit einer beeindruckenden Integration von Timeplus und Vektordatenbanken, d. h. Milvus, fortgesetzt und zeigte, wie Daten von Hacker News in Echtzeit verarbeitet und abgefragt wurden. Dieser Prozess ist im folgenden Diagramm dargestellt. Der Workflow beginnt mit dem Abrufen von Daten aus der Hacker News API, gefolgt von der Konvertierung von HTML in Text mithilfe von Bytewax. Der Text wird anschließend mit Hugging Face eingebettet und mithilfe der SQL-Funktionen von Timeplus gestreamt. Die Daten werden über den Milvus sink connector mit Kafka verbunden, was Echtzeit-Abfragen und -Verarbeitung in der Milvus-Vektordatenbank ermöglicht.
Er führte uns durch ein konkretes Beispiel, um die Leistungsfähigkeit dieser Integration zu veranschaulichen.
Stell dir vor, du arbeitest mit Hacker-News-Daten. Holen wir die neuesten Daten von Hacker News. Mit Timeplus können wir diese Daten in Echtzeit streamen. Jove gibt einen Befehl ein, und innerhalb von Sekunden erscheint ein Stream von Hacker-News-Beiträgen. Nehmen wir nun an, wir möchten alle Beiträge finden, in denen „dogfooding“ erwähnt wird. Wir können eine komplexe Abfrage über diese unstrukturierten Daten ausführen. Er tippt die Abfrage ein, und fast sofort gibt das System eine Liste relevanter Beiträge zurück.
Aber damit hören wir nicht auf. Sehen wir uns die Sentiment-Analyse dieser Beiträge an. Mit einem weiteren Befehl werden die Daten verarbeitet, und die Sentiment-Analyse wird angezeigt, wobei ersichtlich ist, welche Beiträge positiv, negativ oder neutral sind.
Das ist die Stärke der Integration von Timeplus mit Vektordatenbanken. Wir können riesige Mengen unstrukturierter Daten verarbeiten, komplexe Abfragen ausführen und wertvolle Erkenntnisse in Echtzeit gewinnen."
Zusätzlich zu Timeplus bietet Milvus auch Integration mit Kafka unter Verwendung des Confluent Kafka Connector, wodurch Echtzeit-Streaming von Vektordaten zu Milvus oder Zilliz Cloud ermöglicht wird. Dieses Setup ermöglicht Echtzeit-semantische Suchen und Ähnlichkeitssuchen und verbessert die Fähigkeit, aus Streaming-Daten unmittelbare Erkenntnisse zu gewinnen.
Um dir einen kurzen Einblick zu geben, listet die folgende Tabelle einige wichtige Produkte mit ihrer Beschreibung und den in diesem Artikel besprochenen Anwendungsfällen auf.
| Produkt | Beschreibung | Anwendungsfall |
| Timeplus | Eine Echtzeit-Analyseplattform mit leistungsstarken Streaming-SQL-Funktionen. | Echtzeit-Datenverarbeitung und -Analyse. |
| Timeplus Proton | Die Kern-Engine von Timeplus ist leichtgewichtig, in C++ geschrieben und auf Leistung optimiert. | Streaming-ETL, Windowing-Funktionen, Aggregation mit hoher Kardinalität. |
| Kafka | Verteilte Event-Streaming-Plattform, die hochdurchsatzfähige Datenfeeds mit geringer Latenz verarbeitet. | Datenpipelines, Streaming-Analysen, Datenintegration. |
| Confluent Kafka Connector | Tool zur Integration von Kafka mit Milvus und Zilliz Cloud, das Echtzeit-Streaming von Vektordaten ermöglicht. | Echtzeit-Datenstreaming zu Vektordatenbanken. |
| Apache Flink | Einheitliches Framework für Stream- und Batch-Verarbeitung, integriert mit Kafka auf Confluent Cloud. | Hochleistungsfähige Stream-Verarbeitung. |
Fazit
Jove Zhongs Vortrag beim Seattle Unstructured Data Meetup war eine Meisterklasse in Echtzeit-Datenverarbeitung. Von praktischen Demos bis hin zu tiefen Einblicken in fortgeschrittene Konzepte bot Jove einen umfassenden Überblick darüber, wie Timeplus und Kafka die Zukunft der Datenanalyse gestalten. Der Vortrag endete mit einem Blick in die Zukunft von Streaming SQL und Echtzeitverarbeitung. Jove hob die wachsende Bedeutung dieser Technologien beim Aufbau intelligenterer und reaktionsschnellerer KI-Systeme hervor. Die Fähigkeit, Daten in Echtzeit zu verarbeiten und sofortige Entscheidungen zu treffen, wird in vielen Branchen immer entscheidender, von der Finanzwirtschaft bis zum Gesundheitswesen.
Für alle, die daran interessiert sind, diese Technologien weiter zu erkunden, stehen die vollständige Aufzeichnung des Vortrags und die Präsentationsfolien zur Verfügung.
Weiterlesen

From Vector Database to Vector Lakebase
Zilliz offers a fully managed Vector Lakebase powered by Milvus, unifying real-time vector search, lake-scale discovery, and Al data operations.

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.



