Qu'est-ce que les données diffusées en continu ?

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 rapidement faire face aux situations nouvelles. 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.

Avantages des données diffusées en continu

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 de machine learning, 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 des fenêtres de temps glissantes pour trouver les films populaires les plus récents, sont appliqués, ce qui enrichit ces connaissances.

Exemples de données diffusées en continu

  • Les capteurs équipant les véhicules de transport, les équipements industriels et les machines agricoles envoient des données à une application de diffusion en continu. 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.

Comparaison entre le traitement par lots et le traitement des flux

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 plus 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.
Analyse 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.

Défis liés au traitement des données diffusées en continu

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 une 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 la capacité de mise à l'échelle, 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 Data Streams, Amazon Kinesis Data Firehose, Amazon Managed Streaming for Apache Kafka (Amazon MSK), Service géré Amazon pour Apache Flink, Apache Flume, Apache Spark Streaming et Apache Storm.

Traiter des données diffusées en continu sur AWS

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 en continu 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. Il propose trois services : Amazon Kinesis Data Firehose, Amazon Kinesis Data Streams et Amazon Managed Streaming for Apache Kafka (Amazon MSK).

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

Amazon Kinesis Data Streams

Amazon Kinesis Data 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 Data 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 Data 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 les tarifs Amazon Kinesis Data Streams »

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose est la solution la plus simple pour charger des données en streaming 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 la tarification d'Amazon Kinesis Data Firehose »

Amazon Managed Streaming for Apache Kafka (Amazon MSK)

Amazon MSK est un service entièrement géré qui vous permet de créer et d'exécuter facilement des applications qui utilisent Apache Kafka pour traiter les données en streaming. Apache Kafka est une plateforme open source permettant de créer des pipelines et des applications de données en streaming en temps réel. Avec Amazon MSK, vous pouvez utiliser les API natives Apache Kafka pour renseigner des data lakes, transmettre en continu les modifications apportées aux bases de données et alimenter des applications d'analyse et de machine learning.

En savoir plus sur Amazon MSK »

Le service géré Amazon pour Apache Flink facilite la création et l'exécution d'applications de streaming en temps réel à l'aide d'Apache Flink. Le service géré Amazon pour Apache Flink prend en charge tout ce qui est nécessaire pour exécuter des applications de streaming. Il n'y a ni serveurs ni clusters à gérer et il n'y a aucune infrastructure de calcul et de stockage à configurer. Vous payez uniquement les ressources que vous configurez. Vous pouvez facilement configurer et intégrer des sources de données ou des destinations avec un minimum de code, traiter les données en continu avec des temps de latence inférieurs à la seconde et répondre aux événements en temps réel. Le service géré Amazon pour Apache Flink gère les tâches essentielles qui consistent à assurer la sécurité, la mise à jour, la conformité et l'optimisation de votre système, afin que vous puissiez vous concentrer sur le développement d'applications.

En savoir plus sur le service géré Amazon pour Apache Flink »

Autres solutions de streaming sur Amazon EC2

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 à la mise en service de l'infrastructure et avoir accès à un large éventail de frameworks de stockage et de traitement des flux. Amazon MSK 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.

Étapes suivantes

Inscrivez-vous pour bénéficier de l'offre Amazon gratuite
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite d'AWS. 

S'inscrire 
Commencer à créer dans la console Amazon Kinesis
Commencez à créer dans la console

Commencez à créer avec Amazon Kinesis dans AWS Management Console.

Se connecter