Un pipeline de données est une méthode selon laquelle des données brutes sont ingérées à partir de diverses sources de données, transformées, puis transférées vers un magasin de données tel qu’un data lake ou un entrepôt de données, à des fins d’analyse.
Avant d’être injectées dans un référentiel de données, les données subissent généralement un certain traitement. Il s’agit notamment de transformations telles que le filtrage, le masquage et l’agrégation, qui garantissent une standardisation et une intégration des données toutes deux appropriées. Cela est particulièrement important lorsque la destination du jeu de données est une base de données relationnelle. Ce type de référentiel de données comporte un schéma défini qui nécessite un alignement, c’est-à-dire une mise en correspondance des colonnes et des 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 servent de « tuyaux » aux projets de science des données ou aux tableaux de bord de business intelligence. Les données peuvent provenir d’une grande variété d’endroits (API, bases de données SQL et NoSQL, fichiers, etc.) mais malheureusement, ces données ne sont généralement pas prêtes à être utilisées immédiatement. Lors du sourcing, la traçabilité des données est suivie pour documenter la relation entre les données présentes dans diverses applications d’entreprise et informatiques. Il s’agit de déterminer, par exemple, l’endroit où se trouvent actuellement les données et la manière dont elles sont stockées dans un environnement (sur site, dans un data lake ou dans un entrepôt de données).
Les tâches de préparation des données reposent généralement sur les épaules des data scientists ou des ingénieurs de données, qui structurent les données pour répondre aux besoins des cas d’utilisation métier et traitent d’énormes quantités de données. Le type de traitement requis par un pipeline de données est généralement déterminé en associant analyse exploratoire des données et définition des exigences métier. Après avoir été correctement filtrées, fusionnées et synthétisées, les données peuvent être stockées et extraites pour être utilisées. Un pipeline de données bien organisé constitue la base de divers projets axés sur les données, comme l’analyse exploratoire de données, la visualisation de données et les tâches de machine learning.
Il existe plusieurs types de pipelines de données, chacun adapté à un type de tâche sur des plateformes bien spécifiques. En voici les plus courants :
Le développement du traitement par lots a été une étape cruciale dans la construction d’infrastructures de données fiables et évolutives. En 2004, MapReduce, un algorithme de traitement par lots, a été breveté, puis intégré dans des systèmes open source tels que Hadoop, CouchDB et MongoDB.
Comme son nom l’indique, le traitement par lots permet de charger des « lots » de données dans un référentiel à des intervalles définis, généralement programmés pendant les heures creuses. Ainsi, les autres workloads ne sont pas affectées, car les tâches de traitement par lots impliquent généralement d’importants volumes de données et sont susceptibles de surcharger le système dans son intégralité. Le traitement par lots est généralement le pipeline de données optimal lorsqu’il n’y a pas un besoin immédiat d’analyser un jeu de données particulier (par exemple, les comptes mensuels), et il est davantage associé au processus d’intégration de données ETL (extraction, transformation, chargement).
Les tâches de traitement par lots forment un workflow de commandes séquencées, où la sortie d’une commande devient l’entrée de la commande suivante. Par exemple, une commande peut lancer l’ingestion de données, la commande suivante peut déclencher le filtrage de certaines colonnes, et la commande d’après peut gérer l’agrégation. Cette série de commandes se poursuit jusqu’à ce que la qualité des données soit complètement transformée et réécrite dans un référentiel de données.
Contrairement au traitement par lots, les pipelines de données en continu, également appelés « architectures orientées événements », traitent en permanence les événements générés par diverses sources telles que les capteurs ou les interactions des utilisateurs au sein d’une application. Les événements sont traités et analysés, puis stockés dans des bases de données ou envoyés en aval pour une analyse plus approfondie.
Les données en continu sont utilisées lorsqu’il est nécessaire de les mettre à jour en permanence. Par exemple, les applications et les systèmes de point de vente ont besoin de données en temps réel pour mettre à jour les stocks et l’historique des ventes. Cela permet aux commerçants d’informer les consommateurs sur la disponibilité des produits. Une action telle la vente d’un produit est considérée comme un « événement », et les événements associés, comme l’ajout d’un article dans le panier, sont généralement regroupés pour former un « sujet » ou un « flux ». Ces événements sont ensuite transmis par le biais de systèmes de messagerie ou de courtiers de messages tels que l’offre open source Apache Kafka.
Étant donné que les événements de données sont traités peu de temps après leur survenue, les systèmes de traitement en continu ont une latence plus faible que les systèmes de traitement par lots, mais sont considérés moins fiables que ces derniers, car les messages peuvent être involontairement abandonnés ou rester longtemps dans la file d’attente. Les courtiers de messages permettent de répondre à cette préoccupation grâce aux accusés de réception, qui permettent au consommateur de confirmer le traitement du message au courtier pour qu’il le supprime de la file d’attente.
Les pipelines d’intégration de données permettent de faire fusionner les données provenant de plusieurs sources en une seule vue unifiée. Ces pipelines impliquent souvent des processus d’extraction, de transformation et de chargement (ETL) qui nettoient, enrichissent ou modifient les données brutes avant de les stocker dans un référentiel centralisé, par exemple un entrepôt de données ou un data lake. Les pipelines d’intégration de données sont essentiels pour gérer les systèmes disparates qui génèrent des formats ou des structures incompatibles. Par exemple, une connexion peut être ajoutée à Amazon S3 (Amazon Simple Storage Service), un service proposé par Amazon Web Services (AWS) qui permet le stockage d’objets grâce à une interface de service Web.
Les plateformes de données modernes proposent une suite de produits logiciels cloud natifs et cloud-first conçue pour permettre aux entreprises de collecter, de nettoyer, de transformer et d’analyser leurs données afin d’optimiser la prise de décision. Toujours plus complexes, les pipelines de données d’aujourd’hui s’avèrent incontournables pour améliorer l’analyse des données et axer la prise de décision sur ces dernières. Synonymes de fiabilité, les plateformes modernes ingèrent, stockent, traitent et transforment afin de garantir l’exactitude des informations, d’accélérer leur mise à disposition, de réduire les silos de données, de favoriser le libre-service et d’améliorer la qualité des données.
Trois étapes principales composent l’architecture d’un pipeline de données.
1. Ingestion de données : les données sont collectées à partir de diverses sources telles que les plateformes SaaS (logiciel à la demande), les appareils connectés (IdO) et les appareils mobiles, et à partir de diverses structures (données structurées et non structurées). Dans le cas des données en continu, ces sources de données brutes sont généralement appelées producteurs, éditeurs ou expéditeurs. Si les entreprises peuvent choisir d’extraire les données uniquement lorsqu’elles sont prêtes à les traiter, il est préférable de transférer tout d’abord les données brutes auprès d’un fournisseur d’entrepôt de données cloud. Ainsi, si l’entreprise doit apporter des modifications aux tâches de traitement des données, elle peut mettre à jour les données historiques. Au cours de ce processus d’ingestion des données, plusieurs contrôles et vérifications peuvent être effectués pour garantir la cohérence et l’exactitude des données.
2. Transformation des données : au cours de cette étape, une série de tâches est exécutée pour traiter les données dans le format requis par le référentiel de destination. Ces tâches intègrent l’automatisation et la gouvernance des flux de travaux répétitifs tels que le reporting d’entreprise, afin de garantir que les données sont nettoyées et transformées de manière cohérente. Dans le cas d’un flux de données au format JSON imbriqué, l’étape de transformation des données consistera à dérouler ce fichier JSON pour en extraire les champs clés à des fins d’analyse.
3. Stockage des données : les données transformées sont ensuite stockées dans un référentiel auquel différentes parties prenantes peuvent accéder. Dans le cas des données en continu, ces données transformées sont généralement appelées consommateurs, abonnés ou destinataires.
Les termes « pipeline de données » et « pipeline ETL » sont parfois utilisés de manière interchangeable. Il convient toutefois de rappeler que les pipelines ETL représentent une sous-catégorie de pipelines de données. Trois aspects principaux permettent de distinguer ces deux types de pipelines :
Face à l’évolution continue du big data, l’importance de la gestion des données ne cesse de croître. Parmi les diverses fonctions remplies par les pipelines de données, voici celles qui sont destinées aux applications métier :
Créez et gérez des pipelines intelligents de diffusion de données en continu via une interface graphique intuitive, facilitant ainsi une intégration fluide des données dans les environnements hybrides et multicloud.
Découvrez IBM Databand, le logiciel d’observabilité pour les pipelines de données. Il collecte automatiquement les métadonnées pour établir des lignes de base historiques, détecter les anomalies et créer des workflows afin de résoudre les problèmes de qualité des données.
Créez des pipelines de données résilients, performants et optimisés en termes de coûts pour vos initiatives d’IA générative, vos analyses en temps réel, la modernisation de vos entrepôts et vos besoins opérationnels avec les solutions d’intégration des données d’IBM.