Data streaming : définition, architecture et outils
Le data streaming correspond à la diffusion de données en continu et en temps réel. Il repose sur un ensemble de technologies, de plateformes comme celles proposées, par exemple, par Kafka ou des langages tels que Python.
Le streaming de données, c'est quoi ?
Le streaming de données correspond à la diffusion en continu et en temps réel d'un flux d'informations. Ce data streaming est constitué d'une série de données ordonnées dans le temps, représentent un événement ou un changement d'état. Ces données peuvent être générées par des capteurs connectés (relevés de télémesure) ou par des utilisateurs lors de la consultation d'une application, d'un site web ou d'un réseau social (fichiers log). Le streaming de données est étroitement lié à l'essor du big data, de l'internet des objets (IoT) et, grâce au langage Python, au machine learning. Pour exploiter tout son potentiel, une organisation doit se doter d'outils pour gérer, stocker, analyser et traiter les flux de données en temps réel.
AWS Kinesis Data Streams
Amazon Kinesis Data Streams est un service de données de streaming proposé par Amazon Web Services (AWS). Il permet de collecter et traiter des flux volumineux de données et des enregistrements en temps réel comme de la télémétrie, des journaux d'événements, des interactions sur un site web ou de la vidéo et de l'audio. Amazon Kinesis Data Streams est un service sans serveur (serverless) entièrement managé par AWS.
Spark Streaming
Ajoutée en 2013, Spark Streaming est une extension de Spark, framework open source dédié au calcul distribué. Ce module donne une dimension temps réel à Spark en traitant des flux de données en continu, au fur et à mesure de leur arrivée. Les données peuvent provenir de diverses sources comme des bases SQL, Apache Kafka, Flume ou Amazon Kinesis. Spark Streaming vient ainsi compléter Spark permettant aux développeurs big data de recourir à un seul framework pour répondre à toutes les exigences de traitement, avec des données en mémoire ou en temps réel.
Kafka Streams
Librairie Java, Kafka Streams vient donner une dimension streaming à Kafka, plateforme open source distribuée de messagerie. Kafka Streams expose des API pour assurer le traitement de messages au fil de l’eau. Les deux environnements sont proposés sous licence Apache.
Data stream Elasticsearch
Composant d'Elasticsearch, moteur de recherche distribué, Data stream Elasticsearch permet de soumettre des requêtes d'indexation et de recherche directement à un flux de données générées en continu.