Data

Qu’est ce que la Data stream

Qu’est ce que la Data stream

Si vous ingérez dans OpenSearch des données de séries temporelles générées en continu, telles que des journaux, des événements et des métriques, vous êtes probablement dans un scénario où le nombre de documents augmente rapidement et où vous n’avez pas besoin de mettre à jour les anciens documents.

Un flux de travail typique pour gérer des données de séries temporelles implique plusieurs étapes, telles que la création d’un alias d’index de roulement, la définition d’un index d’écriture et la définition de mappages et de paramètres communs pour les index de sauvegarde.

Les Data streams simplifient ce processus et appliquent une configuration qui convient le mieux aux données de séries temporelles, par exemple en étant conçus principalement pour les données de type append-only et en garantissant que chaque document possède un champ d’horodatage.

Un Data streams est composé en interne de plusieurs index de sauvegarde. Les demandes de recherche sont acheminées vers tous les index de sauvegarde, tandis que les demandes d’indexation sont acheminées vers le dernier index d’écriture. Les politiques ISM vous permettent de gérer automatiquement les renouvellements ou les suppressions d’index.

Principes de base du Data streams

Le Data streams est la transmission continue de données d’une source à une destination. Avec le streaming, les sources de données envoient des données fréquemment, parfois plusieurs fois par seconde, et en petites quantités. Comparez cela au traitement par lots plus traditionnel, où les opérations sont peu fréquentes et transmettent de plus grandes quantités de données à chaque fois.

Revenons un instant à l’exemple de Netflix. Ce service de streaming a révolutionné le secteur du divertissement en permettant aux utilisateurs de télécharger de petits morceaux d’un film pendant qu’ils le regardent (streaming), au lieu de télécharger un film entier à l’avance (traitement par lots traditionnel). L’utilisateur économisait ainsi de l’espace disque et, s’il n’aimait pas le film, il n’avait pas à gaspiller beaucoup de bande passante.

En raison de la nature en temps réel du Data stream, les sources de données peuvent ajuster leurs streams quasiment en temps réel. Par exemple, Netflix a créé toute une série d’innovations qui améliorent la qualité du flux sur les connexions lentes et les réseaux très fréquentés. L’entreprise génère également de nombreuses données à partir de chaque stream et les utilise pour améliorer son contenu.

Les data streams ne se limitent pas à la vidéo. Voici quelques applications non vidéo du Data streams :

  • Le stockage des journaux générés dans les applications web ou mobiles pour une recherche facile et une analyse future ;
    Informations sur les achats en ligne, notamment le temps nécessaire à la réalisation de la commande, les habitudes de navigation sur le site web et le parcours suivi sur le site web ;
  • Les actions sur les médias sociaux telles que les likes, les vues, les nouveaux posts et les messages ; et,
    les données de navigation : la position d’un véhicule à un moment donné et sa progression par rapport à l’itinéraire prévu.
  • Cependant, par rapport au traitement par lots, la diffusion de données en continu est plus gourmande en ressources. La diffusion en continu d’un film sur, par exemple, dix mille requêtes HTTP distinctes, entraîne des frais généraux plus élevés que ceux d’une seule requête. Toutefois, la diffusion en continu troque cette inefficacité potentielle contre la commodité et la valeur ajoutée que représente la disponibilité rapide des données.

Le tableau ci-dessous compare côte à côte le traitement par lots et le streaming de données :

  • Batch Processing Data streams
  • Portée des données Traitement de toutes ou de la plupart des données disponibles Traitement des données d’une fenêtre temporelle restreinte ou des données les plus récentes
  • Taille des données Grands lots Enregistrements individuels ou très petits lots
  • Performance Temps de latence de quelques minutes à quelques heures Temps de latence de quelques millisecondes ou secondes

En tant que scientifique ou ingénieur de données, vous constaterez que votre travail avec les streams sera différent de vos projets de traitement par lots. Par exemple, vous devrez travailler avec des GPU, des TPU et des FPGA pour assurer le traitement juste-à-temps de gros volumes de données provenant des streams. Pour travailler avec les Data streams, vous devrez clairement comprendre comment les systèmes de programmation traitent les entrées/sorties et interagissent avec les réseaux. Vous devrez également savoir comment utiliser les outils de Data streams.

Applications de Data streams

Le streaming de données a trouvé sa place dans toute une série de secteurs. Parmi les applications courantes de Data streams, citons le divertissement, les transports et l’industrie, les marchés financiers, l’énergie solaire et les jeux multi-joueurs, pour n’en citer que quelques-unes.

Divertissement

Au-delà de ce que nous savons déjà de Netflix, les services de divertissement vidéo utilisent le Data streams pour analyser ce que les utilisateurs regardent, le temps qu’il leur faut pour terminer une émission et les moments qui captent le plus leur attention. Ces informations permettent aux services de divertissement d’adapter rapidement leurs offres aux goûts ou aux habitudes d’un public particulier. Des entreprises comme Netflix peuvent également détecter des schémas dans les flux qui peuvent révéler un problème technique. En se basant sur des flux lents ou déconnectés, Netflix peut souvent détecter un problème avec un fournisseur d’accès Internet particulier plus tôt que le fournisseur lui-même !

Transport et industrie

Les capteurs des véhicules de transport, des équipements industriels et des machines agricoles envoient en permanence des informations relatives à l’état et aux performances. Les outils d’analyse des données surveillent les performances des machines, détectent les pannes et commandent les pièces de rechange le plus rapidement possible. La quantité de données générées par les équipements permet aux analystes et aux ingénieurs de générer des prédictions précises sur la capacité de travail et les délais.

Marchés financiers

Sur les marchés financiers, la milliseconde est l’échelle à laquelle les transactions financières sont effectuées. Les algorithmes automatisés effectuent des transactions si rapidement qu’il est impossible pour les humains de suivre le rythme, du moins au niveau des transactions. Les algorithmes analysent des flux de données en temps quasi réel, des mouvements de prix au sentiment du marché, et tentent de prédire le comportement d’un marché pour avoir un avantage sur la concurrence.

Énergie solaire

Les entreprises du secteur de l’énergie solaire doivent maintenir leurs équipements en ordre et mettent fréquemment en œuvre des applications qui surveillent tous les panneaux de leur réseau et programment les tâches de réparation et de maintenance en temps réel. Le suivi de la « santé » de chaque panneau solaire permet de maximiser la production d’énergie et de réduire les pertes opérationnelles.

Jeux multi-joueurs

Les entreprises de jeux multi-joueurs collectent des flux de données qui décrivent les interactions entre les joueurs et les éléments du jeu. Elles analysent ensuite les données en temps réel pour offrir une expérience dynamique aux joueurs, ce qui permet d’adapter le monde numérique au style de jeu des joueurs, ce qui ne serait pas possible avec des jeux conçus de manière statique.

Outils de Data streams à prendre en compte

Pour tirer le meilleur parti du Data streams, vous aurez besoin d’outils qui vous aideront à capturer et à analyser les données, et à en extraire des informations utiles. Dans cette section, nous vous présentons des outils conçus pour faciliter vos projets de Data streams.

Apache Spark

Apache Spark est un moteur de traitement de données open source basé sur le calcul en grappe. Il permet d’effectuer des analyses à grande échelle grâce à des machines en cluster, en rassemblant toute leur puissance. Apache Spark comprend un moteur de requêtes SQL, une bibliothèque de traitement de données en continu (Spark Streaming) et un système de traitement de graphes (GraphX). Apache Spark comprend également de nombreuses bibliothèques d’algorithmes pour le machine learning. Apache Spark peut effectuer des traitements en temps réel et par lots.

Apache Kafka

Apache Kafka est une plateforme open source de streaming d’événements couramment utilisée pour collecter, traiter et stocker des flux continus de données d’événements ou de données sans début ni fin précis. Kafka possède un excellent débit et des fonctionnalités telles que le partitionnement intégré, la réplication et la tolérance aux pannes. Cela en fait une solution largement utilisée pour le traitement des messages à grande échelle et les applications de streaming.

Amazon Kinesis

Amazon Kinesis est un service entièrement géré pour le traitement des données en continu en temps réel à grande échelle. Vous pouvez configurer des centaines de milliers de producteurs de données pour ajouter des données en continu à un flux Amazon Kinesis. Il peut s’agir de données provenant de flux de clics de sites web, de journaux d’applications et de flux de réseaux sociaux. En moins d’une seconde, les données sont disponibles pour vos applications Amazon Kinesis, qui peuvent les lire et les traiter à partir du flux.

Ecrire un commentaire