Traitement de données en streaming dans Kafka avec Timeplus Proton
En avril 2024, Jove Zhong, cofondateur de Timeplus, est monté sur scène lors du Seattle Unstructured Data Meetup pour donner une conférence sur « Processing Streaming Data in Kafka with Timeplus Proton. » En tant qu’expert du streaming de données et du traitement en temps réel, Jove a fourni une vue d’ensemble complète de la manière dont Timeplus s’intègre à Kafka pour gérer les données en temps réel, tout en nous proposant des démonstrations en direct à la fois captivantes et pédagogiques. Plongeons dans les points clés et les enseignements de cette session enrichissante.
Lien vers la rediffusion YouTube de la conférence de Jove Zhong : Regarder la conférence sur YouTube
Timeplus et ses capacités en temps réel
Jove Zhong est un maestro de l’ingénierie logicielle. Si vous ne me croyez pas, jetez un œil à son parcours. Cofondateur et Head of Product chez Timeplus, ancien Engineering Director chez Splunk, détenteur de 17 brevets et de 4 certifications AWS. Ah, et il est un « papa de classe mondiale » depuis 2010. Jove établit des parallèles fascinants entre la paternité et le leadership en entreprise, montrant qu’élever un enfant et diriger une entreprise ont plus de points communs qu’on ne pourrait le penser.
Sur ce, intéressons-nous à la conférence de Jove sur « Processing Streaming Data in Kafka with Timeplus Proton ».
Basée à Santa Clara, en Californie, Timeplus révolutionne la gestion des données en temps réel grâce à sa base de données SQL de streaming innovante et à sa plateforme d’analytique en temps réel. Soutenue par des investisseurs en capital-risque et des technologues de premier plan, Timeplus propose des versions open source et commerciales, permettant une gestion et un traitement efficaces des flux de données en direct. Ses fonctionnalités phares comprennent des tableaux de bord dynamiques et un traitement basé sur SQL, rendant la manipulation des données en temps réel accessible et conviviale.
Timeplus Proton, le moteur central de Timeplus, constitue une alternative puissante à des plateformes comme ksqlDB et Apache Flink. Il est léger, écrit en C++ et optimisé pour les performances. Avec des capacités telles que l’ETL en streaming, les fonctions de fenêtrage et l’agrégation à haute cardinalité, Proton permet aux développeurs de relever efficacement les défis du traitement des données en streaming. La plateforme prend en charge diverses sources de données, notamment Apache Kafka, Confluent Cloud et Redpanda, et permet d’obtenir des insights et des alertes en temps réel.
Que ce soit pour la FinTech, l’IA, le machine learning ou l’observabilité, Timeplus offre des capacités de bout en bout qui aident les équipes data à traiter rapidement et intuitivement les données en streaming et historiques. C’est une solution simple, puissante et rentable, conçue pour des organisations de toutes tailles et de tous secteurs.
Démonstration en direct : surveillance du prix du Bitcoin en temps réel
Pour commencer, Jove a démontré les capacités en temps réel de Timeplus en présentant un flux en direct du prix du Bitcoin. Cette démonstration n’était pas seulement une vitrine de prouesses technologiques, mais aussi une illustration de la manière dont Timeplus peut traiter et afficher des données plus rapidement que des sources conventionnelles comme Google. Le public a été captivé lorsque Jove a comparé le flux en temps réel à celui de Google, mettant en évidence les performances supérieures de Timeplus.
Kafka : l’épine dorsale du streaming de données en temps réel
Jove a proposé une plongée approfondie dans Kafka, en expliquant son architecture et son fonctionnement. Kafka est une puissante plateforme open source de streaming d’événements destinée à gérer divers types de données et des environnements de calcul distribués. Écrit en Java et Scala, Kafka est conçu pour traiter des flux de données en temps réel avec un débit élevé et une faible latence. Adopté par plus de 80 % des entreprises du Fortune 100, notamment des géants du secteur comme Goldman Sachs, Target et Cisco, Kafka est reconnu pour sa fiabilité et ses performances.
Comprendre l’architecture de Kafka
Kafka fonctionne comme une plateforme distribuée de streaming de données capable de traiter des millions d’événements par seconde. En visualisant l’architecture de Kafka à travers le diagramme suivant, Jove a démontré la capacité de la plateforme à gérer des flux de données en temps réel avec un débit élevé et une faible latence, ce qui en fait un outil puissant pour les besoins modernes de streaming de données. Le diagramme explique l’architecture de la manière dont les producteurs, les consommateurs et les brokers travaillent ensemble pour garantir que les données sont traitées et livrées efficacement. Il a également abordé les stratégies de réplication et de partitionnement de Kafka, qui offrent tolérance aux pannes et évolutivité.
Kafka fonctionne comme un système distribué composé de serveurs et de clients communiquant via un protocole réseau TCP haute performance. Il peut être déployé sur du matériel bare-metal, des machines virtuelles et des conteneurs, dans des environnements sur site comme dans le cloud.
L’architecture de Kafka, telle qu’illustrée dans le diagramme, se compose de plusieurs composants clés :
Clients et Brokers : Kafka fonctionne comme un système distribué composé de clients et de brokers. Les clients sont des applications qui produisent et consomment des messages. Les brokers sont des serveurs qui stockent et transmettent ces messages. Le diagramme montre comment les clients se connectent à un broker, qui agit comme un serveur d’amorçage pour router les données vers d’autres brokers du cluster.
Producteurs et Consommateurs : Les producteurs sont responsables de l’envoi des données vers les topics Kafka, tandis que les consommateurs lisent les données depuis ces topics. Le diagramme illustre comment un producteur envoie des messages à différents topics (Topic A, Topic B, Topic C) sur plusieurs brokers. Les consommateurs lisent ensuite ces topics, garantissant que les données sont traitées et livrées efficacement.
Topics et Partitions : Les topics Kafka sont divisés en partitions, ce qui permet un traitement parallèle des données. Chaque partition est répliquée sur plusieurs brokers afin d’assurer la tolérance aux pannes. Le diagramme montre un topic avec trois partitions consommées par différents consommateurs, démontrant comment Kafka répartit la charge et maintient une haute disponibilité.
Évolutivité et Tolérance aux pannes : Les clusters Kafka sont hautement évolutifs et peuvent s’étendre sur plusieurs centres de données ou régions cloud. L’architecture prend en charge l’expansion et la contraction élastiques, garantissant des opérations continues sans perte de données. Si un broker tombe en panne, le système peut récupérer en redirigeant les données vers d’autres brokers.
Streaming LLM et bases de données vectorielles
Une partie importante de la présentation a été consacrée à l’exploration de la manière dont le streaming de données s’intègre aux Large Language Models (LLMs) et aux bases de données vectorielles. Jove a souligné le potentiel de ces intégrations pour améliorer les applications d’IA, en rendant le traitement des données plus efficace et plus précis. La fusion des données en streaming avec les modèles d’IA peut améliorer considérablement la réactivité et l’intelligence de diverses applications.
Récemment, Zilliz Cloud et Confluent Cloud for Apache Flink® ont annoncé un partenariat qui illustre davantage ce concept. En tirant parti de celui-ci, vous pouvez créer des applications GenAI en temps réel avec Kafka et Flink ; les entreprises peuvent créer des pipelines de données en temps réel qui alimentent des bases de données vectorielles comme Milvus. Cette configuration permet le développement d’applications d’IA avancées, telles que la recherche sémantique en temps réel et la Retrieval Augmented Generation (RAG). Grâce au traitement des données en temps réel, les LLMs peuvent accéder aux informations les plus récentes, garantissant des réponses précises et rapides dans des applications allant de la recherche d’entreprise aux recommandations personnalisées dans le e-commerce.
Applications pratiques : chatbots alimentés par l’IA
L’une des applications pratiques évoquées par Jove était l’utilisation de données en temps réel dans les chatbots alimentés par l’IA. En exploitant des flux de données en temps réel, ces chatbots peuvent fournir des informations à jour, telles que des mises à jour du statut des vols. Par exemple, un chatbot pourrait informer instantanément les utilisateurs des retards de vol et suggérer des vols alternatifs, démontrant ainsi les avantages pratiques du traitement des données en temps réel.
Jove a donné un exemple qui imagine que vous discutez avec un bot de statut de vol :
Utilisateur : "Quel est le statut de mon vol pour New York ?"
Chatbot : "Votre vol est retardé de 2 heures."
Utilisateur : "Puis-je trouver un autre vol qui m’y conduise plus tôt ?"
Chatbot : "Oui, il existe un vol alternatif disponible avec une place restante. Il vous coûtera 1 500 $, mais vous arriverez à l’heure."
Utilisateur : "Parfait, réserve-le pour moi."
Dans ce scénario, le chatbot utilise les flux de données en temps réel de Kafka pour fournir des informations de vol à jour. Il informe non seulement l’utilisateur des retards, mais vérifie également les vols disponibles, les sièges et les prix en temps réel. Le chatbot présente ensuite ces informations à l’utilisateur, permettant des décisions rapides et éclairées. Cet exemple montre comment les capacités de traitement des données en temps réel de Kafka améliorent la fonctionnalité et la réactivité des chatbots alimentés par l’IA, en faisant des outils précieux pour les utilisateurs recherchant des informations immédiates et précises.
Intégrer Timeplus aux bases de données vectorielles
La démonstration de Jove s’est poursuivie avec une intégration impressionnante de Timeplus et des bases de données vectorielles, c.-à-d. Milvus, montrant comment les données de Hacker News étaient traitées et interrogées en temps réel. Ce processus est illustré dans le diagramme ci-dessous. Le flux de travail commence par la récupération des données depuis l’API Hacker News, suivie de la conversion du HTML en texte à l’aide de Bytewax. Le texte est ensuite intégré avec Hugging Face, puis diffusé en streaming grâce aux capacités SQL de Timeplus. Les données sont connectées à Kafka via le connecteur sink Milvus, permettant l’interrogation et le traitement en temps réel dans la base de données vectorielle Milvus.
Il nous a présenté un exemple concret pour illustrer la puissance de cette intégration.
Imaginez que vous travaillez avec des données de Hacker News. Récupérons les dernières données de Hacker News. Avec Timeplus, nous pouvons diffuser ces données en temps réel. Jove saisit une commande et, en quelques secondes, un flux de publications Hacker News apparaît. Maintenant, disons que nous voulons trouver toutes les publications mentionnant « dogfooding ». Nous pouvons exécuter une requête complexe sur ces données non structurées. Il saisit la requête et, presque instantanément, le système renvoie une liste de publications pertinentes.
Mais nous ne nous arrêtons pas là. Voyons l’analyse de sentiment de ces publications. Avec une autre commande, les données sont traitées et l’analyse de sentiment s’affiche, indiquant quelles publications sont positives, négatives ou neutres.
C’est la puissance de l’intégration de Timeplus aux bases de données vectorielles. Nous pouvons gérer d’immenses volumes de données non structurées, exécuter des requêtes complexes et extraire des informations précieuses en temps réel."
En plus de Timeplus, Milvus propose également une intégration avec Kafka à l’aide du Confluent Kafka Connector, permettant la diffusion en temps réel de données vectorielles vers Milvus ou Zilliz Cloud. Cette configuration permet des recherches sémantiques et des recherches de similarité en temps réel, renforçant la capacité à tirer des insights immédiats des données en streaming.
Pour vous donner un aperçu rapide, le tableau suivant répertorie certains produits importants avec leur description et les cas d’utilisation abordés dans cet article.
| Produit | Description | Cas d’utilisation |
| Timeplus | Une plateforme d’analyse en temps réel dotée de puissantes capacités SQL de streaming. | Traitement et analyse des données en temps réel. |
| Timeplus Proton | Le moteur central de Timeplus est léger, écrit en C++ et optimisé pour les performances. | ETL en streaming, fonctions de fenêtrage, agrégation à forte cardinalité. |
| Kafka | Plateforme distribuée de streaming d’événements qui gère des flux de données à haut débit et faible latence. | Pipelines de données, analyse en streaming, intégration de données. |
| Confluent Kafka Connector | Outil d’intégration de Kafka avec Milvus et Zilliz Cloud, permettant le streaming de données vectorielles en temps réel. | Streaming de données en temps réel vers des bases de données vectorielles. |
| Apache Flink | Framework unifié de traitement par flux et par lots, intégré à Kafka sur Confluent Cloud. | Traitement de flux haute performance. |
Conclusion
La conférence de Jove Zhong au Seattle Unstructured Data Meetup était une masterclass sur le traitement des données en temps réel. Des démonstrations pratiques aux explorations approfondies de concepts avancés, Jove a fourni une vue d’ensemble complète de la manière dont Timeplus et Kafka façonnent l’avenir de l’analyse de données. La conférence s’est conclue par un regard vers l’avenir du SQL en streaming et du traitement en temps réel. Jove a souligné l’importance croissante de ces technologies dans la création de systèmes d’IA plus intelligents et plus réactifs. La capacité à traiter les données en temps réel et à prendre des décisions immédiates devient cruciale dans de nombreux secteurs, de la finance à la santé.
Pour ceux qui souhaitent explorer davantage ces technologies, l’enregistrement complet de la conférence et les diapositives de présentation sont disponibles.
Continuer à lire

Announcing VDBBench 1.0: Open-Source VectorDB Benchmarking with Your Real-World Production Workloads
Discover VDBBench 1.0, an open-source tool for benchmarking vector databases with real-world production data, streaming ingestion, and concurrent workloads.

Why Not All VectorDBs Are Agent-Ready
Explore why choosing the right vector database is critical for scaling AI agents, and why traditional solutions fall short in production.

Demystifying the Milvus Sizing Tool
Explore how to use the Sizing Tool to select the optimal configuration for your Milvus deployment.



