Les données diffusées en continu sont des données générées en continu par des milliers de sources de données, qui envoient simultanément des enregistrements de données, et en petites quantités (quelques kilooctets). Les données diffusées en continu comprennent une grande variété de données telles que les fichiers journaux générés par les clients à l'aide de vos applications mobiles ou web, les achats électroniques, l'activité des joueurs, les informations provenant de réseaux sociaux, de salles de marché ou de services géospatiaux, et la télémétrie d'appareils ou d'instruments connectés dans des centres de données.

Ces données doivent être traitées de manière séquentielle et incrémentielle au cas par cas ou sur des fenêtres temporelles flexibles, et utilisées pour différentes analyses, notamment les corrélations, les agrégations, le filtrage et l'échantillonnage. Les informations tirées de cette analyse donnent aux entreprises une bonne visibilité sur de nombreux aspects de leurs affaires et des activités des clients, tels que l'utilisation des services (à des fins de mesure/facturation), l'activité des serveurs, les clics effectués sur les sites Web et la géolocalisation d'appareils, de personnes et de biens physiques, et leur permettent de répondre rapidement aux nouvelles situations. Par exemple, les entreprises peuvent suivre l'évolution du sentiment public à l'égard de leurs marques et produits en analysant en continu les flux de réseaux sociaux, et répondre de manière opportune si le besoin s'en fait sentir.


Le traitement des données diffusées en continu est bénéfique dans la plupart des cas lorsque de nouvelles données dynamiques sont générées en continu. Cela s'applique à la plupart des secteurs d'activité et aux cas d'utilisation du Big Data. Les entreprises commencent généralement par des applications simples telles que les journaux de système de collecte et le traitement rudimentaire tel que les calculs min./max. continus. Ces applications évoluent ensuite vers un traitement plus avancé, quasi en temps réel. Au départ, les applications peuvent traiter les flux de données pour générer des rapports simples et effectuer des actions tout aussi simples pour y répondre, par exemple, en émettant des alarmes lorsque des mesures clés dépassent certains seuils. Finalement, ces applications exécutent des formes complexes d'analyse de données, comme l'application d'algorithmes d'apprentissage-machine, et tirent des connaissances approfondies des données. Au fil du temps, des algorithmes de traitement de flux et d'événement complexes, tels que l'affaiblissement de fenêtres temporelles pour trouver les films populaires les plus récents, sont appliqués, ce qui enrichit ces connaissances.


  • Les capteurs équipant les véhicules de transport, les équipements industriels et les machines agricoles envoient des données à une application de données diffusées. L'application contrôle les performances, détecte les défauts potentiels à l'avance et commande automatiquement une pièce de rechange pour garantir la disponibilité de l'équipement.
  • Un établissement financier suit l'évolution du marché boursier en temps réel, calcule la Value At Risk (VAR) et rééquilibre automatiquement les portefeuilles en fonction des variations des cours boursiers.
  • Un site Web immobilier suit un sous-ensemble de données depuis les appareils mobiles de ses clients et émet des recommandations en temps réel pour leur indiquer les propriétés à visiter en fonction de leur emplacement géographique.
  • Une société d'énergie solaire doit maintenir son flux de production d'énergie pour ses clients ou payer des pénalités. Elle a mis en œuvre une application de données diffusées qui surveille tous les panneaux du réseau et programme les tâches d'entretien et de réparation en temps réel, réduisant ainsi les périodes de faible production de chaque panneau et les paiements de pénalités associés.
  • Une maison d'édition multimédia diffuse des milliards d'enregistrements de parcours de navigation depuis ses biens en ligne, regroupe les données et les enrichit avec des informations démographiques sur les utilisateurs, et optimise le placement du contenu sur son site. Elle propose ainsi un contenu plus pertinent et améliore l'expérience des utilisateurs.
  • Une société de jeux en ligne collecte des données diffusées en continu sur les interactions entre les joueurs et les jeux, et intègre les données dans sa plate-forme de jeux. Elle analyse ensuite les données en temps réel et offre des avantages et des expériences dynamiques pour favoriser la participation des joueurs.

Avant d'étudier les données diffusées en continu, il convient de faire l'analyse comparative du traitement des flux et du traitement par lots. Le traitement par lots peut être utilisé pour calculer des requêtes arbitraires sur différents ensembles de données. Ce processus calcule généralement les résultats provenant de toutes les données qu'il englobe et permet une analyse approfondie des ensembles Big Data. Les systèmes basés sur MapReduce, tels qu'Amazon EMR, sont des exemples de plates-formes qui prennent en charge les traitements par lots. En revanche, le traitement des flux exige l'acquisition d'une séquence de données et la mise à jour incrémentielle de métriques, rapports et statistiques de résumé pour répondre à l'arrivée de chaque enregistrement de données. Ce mode de traitement est mieux adapté à la surveillance en temps réel et aux fonctions de réponse.

  Traitement par lots Traitement des flux
Portée des données Requêtes ou traitement portant sur la totalité ou la majorité des données de l'ensemble de données. Requêtes ou traitement portant sur les données d'une fenêtre temporelle continue ou sur l'enregistrement de données le plus récent.
Taille des données
Lots de données volumineux.
Enregistrements individuels ou micro lots comprenant quelques enregistrements.
Performances Latences de quelques minutes à plusieurs heures. Nécessite une latence de l'ordre de quelques secondes ou millisecondes.
Analyses Analyses complexes. Fonctions de réponse simples, regroupements et métriques continues.

De nombreuses organisations créent un modèle hybride en combinant les deux approches et conservent une couche de traitement en temps réel et une couche de traitement par lots. Les données sont d'abord traitées par une plate-forme de données diffusées telle qu'Amazon Kinesis pour extraire des informations en temps réel, puis conservées dans un magasin tel que S3, où elles peuvent être transformées et chargées pour différents cas d'utilisation de traitement par lots.


Le traitement des données diffusées en continu nécessite deux couches : une couche de stockage et une couche de traitement. La couche de stockage doit prendre en charge la commande d'enregistrement et la cohérence forte pour permettre la lecture et l'écriture rapides, peu coûteuses et consultables en différé de grands flux de données. La couche de traitement est responsable de la consommation de données de la couche de stockage. Elle exécute des calculs sur ces données, puis indique à la couche de stockage de supprimer les données qui ne sont plus nécessaires. Il est également impératif de prévoir l'évolutivité, la durabilité des données et la tolérance aux pannes dans les couches de stockage et de traitement. Ainsi, on peut assister à l'apparition de nombreuses plates-formes fournissant l'infrastructure nécessaire pour créer des applications de données en streaming, notamment Amazon Kinesis Streams, Amazon Kinesis Firehose, Apache Kafka, Apache Flume, Apache Spark Streaming et Apache Storm.


Amazon Web Services (AWS) propose un certain nombre d'options pour traiter les données diffusées en continu. Vous pouvez profiter des services de diffusion de données en continu gérés, proposés par Amazon Kinesis, ou déployer et gérer votre propre solution de diffusion de données en continu dans le cloud sur Amazon EC2.

Amazon Kinesis est une plate-forme destinée aux données diffusées sur AWS qui propose des services puissants qui facilitent le chargement et l'analyse des données diffusées, et vous permet également de concevoir des applications de diffusion de données en continu personnalisées afin de répondre à vos besoins spécifiques. Elle propose deux services : Amazon Kinesis Firehose et Amazon Kinesis Streams.

De plus, vous pouvez exécuter d'autres plates-formes de diffusion de données en continu, telles qu'Apache Kafka, Apache Flume, Apache Spark Streaming et Apache Storm, sur Amazon EC2 et Amazon EMR. 

Amazon Kinesis Streams vous permet de concevoir des applications personnalisées qui traitent ou analysent des données diffusées afin de répondre à vos besoins spécifiques. Cette plate-forme peut capturer et stocker en continu des téraoctets de données par heure à partir de centaines de milliers de sources. Vous pouvez ensuite concevoir des applications qui utilisent les données d'Amazon Kinesis Streams pour gérer des tableaux de bord en temps réel, générer des alertes, mettre en œuvre une tarification et des publicités dynamiques, et bien plus encore. Amazon Kinesis Streams prend en charge votre sélection de frameworks de traitement des flux, notamment Kinesis Client Library (KCL), Apache Storm et Apache Spark Streaming. En savoir plus sur Amazon Kinesis Streams »

Amazon Kinesis Firehose est la solution la plus simple pour charger des données en diffusion continue dans AWS. Les données sont capturées et chargées automatiquement dans Amazon S3 et Amazon Redshift, ce qui permet d'effectuer des analyses quasiment en temps réel avec les tableaux de bord et outils d'informatique décisionnelle existants que vous utilisez habituellement. Cette solution vous permet de rapidement mettre en œuvre une approche ELT et de profiter des avantages de la diffusion de données en continu. En savoir plus sur Amazon Kinesis Firehose »


Vous pouvez installer les plates-formes de diffusion de données en continu de votre choix sur Amazon EC2 et Amazon EMR, et créer vos propres couches de stockage et de traitement des flux. En concevant votre solution de diffusion de données en continu sur Amazon EC2 et Amazon EMR, vous pouvez éviter la friction liée au provisionnement de l'infrastructure et avoir accès à un large éventail de frameworks de stockage et de traitement des flux. Apache Kafka et Apache Flume sont des solutions de couche de stockage de données diffusées en continu, tandis qu'Apache Spark Streaming et Apache Storm sont des options de couche de traitement des flux.