On entend usuellement par « migration de données » la manipulation ponctuelle de gros volumes de données agencées par lots ; avec des temps de latence plus ou moins longs d’un traitement à l’autre (une nouvelle migration intervient toutes les 24 heures par exemple).
Si un tel modus operandi peut se révéler efficace pour gérer des données en grande quantité, son recours se justifie beaucoup moins dans le cas où la donnée est transmise à plus petit volume et en flux continu. L’un des risques encourus consistant notamment à lancer une action de traitement sur des données stockées alors qu’elles sont déjà périmées.
Data streaming est l’expression consacrée pour caractériser ce flot continu de données, moins large en termes de volume, et qui ne s’accommode que modérément des méthodes classiques de traitement de la donnée.
Sommaire
Qu’entend-on par « Data Streaming » ?
Vous l’aurez compris, un des premiers éléments propres au “streaming de données” consiste en l’envoi de jeux de données sur un mode continu plutôt que par lots espacés. En ce sens, opter pour le data streaming s’avère pertinent pour des données dont on ne peut clairement identifier ni le commencement ni la fin. Explicitons à l’aide d’un exemple : un feu de circulation est censé émettre de la donnée de manière continue, les signaux lumineux de couleur n’ont pas vocation à s’éteindre définitivement à un moment donné.
Le data streaming s’applique donc bien aux sources de données qui envoient de la data en flux continus, à volume modéré (de l’ordre du kilobyte) et à l’instant même où les données sont générées. Parmi ces sources, on peut citer : les opérations de télémesure à partir d’appareils connectés, les fichiers logs générés par les utilisateurs au cours de leurs différents parcours sur une application ou un site web, les transactions en e-commerce, ou toute information issue des réseaux sociaux.
Complétons ces différents éléments de définition avec une métaphore : celle de la rivière. Depuis le bord de la rive, le regard ne s’attache pas à trouver le début ou la fin du cours d’eau. Bien davantage il portera attention à son débit, à la manière dont la rivière s’écoule.
Contactez Cartelis
pour enfin capitaliser sur vos données clients.
Cartelis vous accompagne dans le cadrage et le déploiement d'une stratégie data et CRM vraiment impactante.
Analyse client, Choix des outils, Pilotage projet et Accompagnement opérationnel.
Prendre contact avec CartelisComment bien exploiter cette ressource ?
L’utilisation du data streaming est optimale quand la durée est une dimension prépondérante de la donnée que vous souhaitez analyser ou quand, données à l’appui, vous voulez repérer l’apparition de tendances avec le temps. On peut penser par exemple au suivi de la durée d’une session web. Dans l’ensemble, la plupart des données issues de l’Internet of Things (IoT) sont compatibles avec le data streaming : capteurs de trafic, logs de transaction ou d’activité, etc.
Ces données en flux sont fréquemment utilisées pour des agrégations en temps réel, des opérations de tri ou d’échantillonnage. Le data streaming permet une analyse et un suivi de la donnée en temps réel, ce qui permet de générer de l’information sur un large panel d’activités (activité de comptage, activité du serveur, géolocalisation d’appareils, clics sur un site web).
Imaginons les scénarii suivants :
- Une banque suit les évolutions du marché et ajuste en continu certains paramètres de ses portefeuilles clients sur la base de conditions prédéfinies (par exemple, vendre à chaque fois que la valeur d’une action franchit un certain seuil) ;
- Un dispositif électrique contrôle en temps réel la capacité d’un réseau et lance des alertes quand certains seuils sont dépassés ;
- Un site e-commerce génère à haute fréquence des analyses sur les flux de clics (clickstream) pour y déceler des comportements anormaux et activer un système d’alerte si nécessaire.
Découvrez comment choisir le bon type de base de données pour son projet d’entreprise.
Solutions de Data Streaming : présentation de la suite Apache
L’intérêt croissant témoigné aux enjeux du streaming de données a naturellement favorisé l’émergence de solutions spécifiques qui permettent de travailler dessus. Trois solutions complémentaires développées en open source par l’Apache Software Foundation ont retenu notre attention.
- Apache Kafka : système de messagerie basé sur le principe “publier-s’abonner”, qui intègre des applications et des flux de données ;
- Apache Flink : moteur de flux de données en streaming qui fournit les installations de calcul distribué sur des flux de données ;
- Apache Storm : système distribué de calcul en temps-réel. Storm est généralement utilisé pour du machine learning, des analyses en temps réel et d’autres situations caractérisée par une grande vélocité de la donnée.
Une solution concurrente à la suite Apache est le service d’Amazon baptisé Amazon Kinesis, un outil basé sur le cloud, extensible et capable de traiter en temps réel de larges flux de données.
Conclusion
Si l’exploitation du streaming de données débouche indéniablement sur des applications concrètes, la puissance de ce procédé bute encore sur certains défis fréquemment rencontréslorsque l’on travaille avec des sources de données en streaming. En voici quelques uns qu’il est bon de garder à l’esprit si vous vous lancez dans un projet de data streaming :
- Assurez-vous de sa scalabilité ;
- Renseignez-vous sur la durée de vos données ;
- Intégrer une tolérance aux fautes aussi bien dans les couches de stockage que de traitement.
Laisser un commentaire