Qu'est-ce qu'un pipeline de données ?

Les pipelines de données collectent, transforment et stockent les données pour les présenter aux parties prenantes pour une variété de projets de données.

vue aérienne du dessus d'une raffinerie de pétrole la nuit, Thaïlande.
Qu'est-ce qu'un pipeline de données ?

Un pipeline de données est une méthode dans laquelle les données brutes sont ingérées à partir de diverses sources de données, puis transférées vers un magasin de données, comme un datalake ou un entrepôt de données, pour analyse. Avant que les données ne circulent dans un référentiel de données, elles subissent généralement un traitement de l'information. Cette opération inclut les transformations de données, telles que le filtrage, le masquage et les agrégations, qui garantissent une intégration et une standardisation adéquates des données. Ceci est particulièrement important lorsque la destination du fichier est une base de données relationnelle. Ce type de référentiel de données a un schéma défini qui nécessite un alignement, c'est-à-dire qu'il faut faire correspondre les colonnes et les types de données afin de mettre à jour les données existantes avec de nouvelles données. 

Comme leur nom l'indique, les pipelines de données agissent comme une « tuyauterie » pour les projets de science des données ou les tableaux de bord d'intelligence d'entreprise. Les données peuvent provenir d'une grande variété d'endroits : API, bases de données SQL NoSQL, fichiers, etc., mais malheureusement, ces données ne sont généralement pas prêtes pour une utilisation immédiate. Les tâches de préparation des données incombent généralement aux scientifiques des données ou aux ingénieurs des données, qui structurent les données pour répondre aux besoins du cas d'utilisation métier. Le type de traitement de l'information requis par un pipeline de données est généralement déterminé par une combinaison d'analyses de données exploratoires et d'exigences commerciales définies. Une fois que les données ont été filtrées, fusionnées et résumées de manière appropriée, elles peuvent ensuite être stockées et mises en évidence pour être utilisées. Des pipelines de données bien organisés constituent la base d'une gamme de projets de données ; cela peut inclure des analyses de données exploratoires, des visualisations de données et des tâches d'apprentissage automatique.


Types de pipelines de données

Il existe deux principaux types de pipelines de données, qui sont le traitement par lot et les flux de données en continu.

Traitement par lot

Le développement du traitement par lot a été une étape critique dans la construction d'infrastructures de données fiables et évolutives. En 2004, MapReduce, un algorithme de traitement par lot, a été breveté puis intégré par la suite dans des systèmes à code source ouvert, comme Hadoop, CouchDB et MongoDB.

Comme son nom l'indique, le traitement par lot charge des « lots » de données dans un référentiel pendant des intervalles de temps définis, qui sont généralement planifiés pendant les heures creuses. De cette façon, les autres charges de travail ne sont pas affectées, car les tâches de traitement par lot ont tendance à travailler avec de gros volumes de données, ce qui peut surcharger le système global. Le traitement par lot constitue généralement le pipeline de données optimal lorsqu'il n'y a pas un besoin immédiat d'analyser un ensemble de données spécifique (par exemple, la comptabilité mensuelle), et il est davantage associé au processus d'intégration de données ETL, qui signifie « extraction, transformation et chargement ».

Les tâches de traitement par lot forment un flux de commandes séquencées, où la sortie d'une commande devient l'entrée de la commande suivante. Par exemple, une commande peut déclencher l'ingestion de données, la commande suivante peut déclencher le filtrage de colonnes spécifiques et la commande suivante peut gérer le regroupement. Cette série de commandes se poursuivra jusqu'à ce que les données soient complètement transformées et écrites dans le référentiel de données.

Flux de données en continu

Contrairement au traitement par lot, les flux de données en continu sont exploités lorsqu'il est nécessaire que les données soient mises à jour en continu. Par exemple, les applications ou les systèmes de point de vente ont besoin de données temps réel pour mettre à jour l'inventaire et l'historique des ventes de leurs produits ; de cette façon, les vendeurs peuvent informer les consommateurs si un produit est en stock ou non. Une action unique, comme la vente d'un produit, est considérée comme un « événement », et les événements connexes, tels que l'ajout d'un article à la caisse, sont généralement regroupés sous la forme d'un « sujet » ou d'un « flux ». Ces événements sont ensuite transportés via des systèmes de messagerie ou des courtiers de messages, tels que l'offre à code source ouvert Apache Kafka. 

Étant donné que les événements de données sont traités peu de temps après leur apparition, les systèmes de diffusion en flux ont un temps d'attente inférieur à celui des systèmes par lot, mais ne sont pas considérés comme aussi fiables que les systèmes de traitement par lot, car les messages peuvent être involontairement supprimés ou rester longtemps en file d'attente. Les courtiers de messages permettent de résoudre ce problème par le biais d'accusés de réception, où un consommateur confirme le traitement du message au courtier pour le supprimer de la file d'attente. 

Découvrir comment créer une application de diffusion en flux Kafka avec IBM Streams


Architecture de pipeline de données

Trois étapes principales constituent l'architecture d'un pipeline de données. 

1. Ingestion de données : les données sont collectées à partir de diverses sources de données, qui comprennent diverses structures de données (c'est-à-dire des données structurées et non structurées). Dans les flux de données en continu, ces sources de données brutes sont généralement appelées producteurs, éditeurs ou expéditeurs. Bien que les entreprises puissent choisir d'extraire les données uniquement lorsqu'elles sont prêtes à les traiter, il est préférable de transférer d'abord les données brutes chez un prestataire d'entrepôt de données cloud. De cette façon, l'entreprise peut mettre à jour toutes les données d'historique si elle doit apporter des ajustements aux tâches de traitement de l'information. 

2. Transformation de données : au cours de cette étape, une série de tâches sont exécutées pour traiter les données dans le format requis par le référentiel de données de destination. Ces tâches intègrent l'automatisation et la gouvernance pour les flux de travail répétitifs, comme la production de rapports d'activité, garantissant que les données sont nettoyées et transformées de manière cohérente.  Par exemple, un flot de données peut se présenter dans un format JSON imbriqué, et l'étape de transformation de données visera à dérouler ce JSON pour extraire les champs clés à analyser.

3. Stockage de données : les données transformées sont ensuite stockées dans un référentiel de données, où elles peuvent être exposées à diverses parties prenantes. Dans les flux de données en continu, ces données transformées sont généralement appelées consommateurs, abonnés ou destinataires.  


Pipeline de données vs pipeline ETL

Vous constaterez peut-être que certains termes, tels que pipeline de données et pipeline ETL, sont utilisés de manière interchangeable dans la conversation. Cependant, vous devez considérer un pipeline ETL comme une sous-catégorie de pipelines de données. Les deux types de pipelines se distinguent par trois caractéristiques clés :

• Les pipelines ETL suivent une séquence spécifique. Comme l'abréviation l'indique, ils extraient des données, transforment des données, puis chargent et stockent des données dans un référentiel de données. Tous les pipelines de données n'ont pas besoin de suivre cette séquence. En fait, les pipelines ETL sont devenus plus populaires avec l'avènement des outils cloud natifs. Bien que l'ingestion de données se produise toujours en premier avec ce type de pipeline, toutes les transformations sont appliquées après le chargement des données dans l'entrepôt de données cloud.  

• Les pipelines ETL ont également tendance à impliquer l'utilisation du traitement par lot, mais comme nous l'avons noté ci-dessus, le périmètre des pipelines de données est plus large. Ils peuvent également inclure le traitement de flux. 

• Enfin, bien que peu probable, les pipelines de données dans leur ensemble n'ont pas nécessairement besoin de subir des transformations de données, comme les pipelines ETL. Il est tout simplement rare de voir un pipeline de données qui n'utilise pas de transformations pour faciliter l'analyse de données. 


Cas d'utilisation des pipelines de données

Alors que les mégadonnées continuent de croître, la gestion des données devient une priorité de plus en plus importante. Bien que les pipelines de données remplissent diverses fonctions, voici trois applications générales de ceux-ci au sein des entreprises : 

•L'analyse exploratoire des données (AED) : elle est utilisée par les scientifiques des données pour analyser et étudier des ensembles de données, et en résumer les principales caractéristiques, souvent à l'aide de méthodes de visualisation des données. Elle aide à déterminer la meilleure façon de manipuler les sources de données pour obtenir les réponses dont vous avez besoin, ce qui permet aux scientifiques des données de découvrir plus facilement des modèles, de repérer des anomalies, de tester une hypothèse ou de vérifier des hypothèses.

• Les visualisations de données : elles représentent les données via des graphiques communs, tels que des graphiques, des tracés, des infographies et même des animations. Ces affichages visuels d'informations communiquent les relations de données complexes ainsi que des informations basées sur les données d'une manière facile à comprendre.

• L'apprentissage automatique : il s'agit d'une branche de l'intelligence artificielle (IA) et de l'informatique qui se concentre sur l'utilisation de données et d'algorithmes pour imiter la façon dont les humains apprennent, améliorant progressivement sa précision. Grâce à l'utilisation de méthodes statistiques, des algorithmes sont entraînés à effectuer des classifications ou des prévisions, ce qui permet de découvrir des informations essentielles dans le cadre de projets d'exploration des données.


Pipelines de données et IBM

IBM Cloud Pak for Data s'appuie sur les microservices et ses fonctionnalités remarquables en matière de données et d'IA pour permettre l'intégration intelligente des données dans les systèmes distribués, offrant ainsi aux entreprises une vision globales des performances de l'entreprise. Cela facilite une collecte, une organisation et un aperçu plus rapides des données d'entreprise, et permet aux entreprises de prendre des décisions à plus grande échelle. Les équipes de gestion des données peuvent également être sûres que leurs données sont sécurisées grâce aux cadres de sécurité compétitifs d'IBM qui permettent de garantir le respect des politiques réglementaires et de réduire tout risque de conformité. Découvrez comment IBM Cloud Pak® for Data et IBM Streams peuvent améliorer l'architecture du pipeline de données de votre entreprise dans plusieurs environnements.