Étapes automatisées de déplacement des données des sources vers les destinations, en passant par les transformations, orchestrant les flux de travail ETL, les contrôles de qualité et les dépendances.
Archived. This article has not been updated since the publish date above. The dynamic nature of information means that previously accurate content can become outdated or even obsolete over time. Readers are advised to exercise due diligence and cross-check any information found in this blog post before making decisions or adopting any practices based on said information.
Un pipeline de données encadre la façon dont les données circulent d'un système à l'autre. Il englobe une série d'étapes qui sont réalisées dans un ordre spécifique, car le résultat de chaque étape informe l'étape suivante.
Ils se composent généralement de trois éléments clés : une source, des étapes de traitement des données et une destination, ou « sink ». Les données peuvent être modifiées au cours du processus de transfert, et certains pipelines peuvent servir simplement à transformer les données. Dans ce cas, la source et la destination sont le même système.
Au cours des dernières années, les pipelines de données ont dû gagner en puissance pour répondre aux besoins en big data des organisations, avec la généralisation des grands volumes de données et leur diversification croissante.
Il faut prendre des mesures pour que les pipelines soient protégés contre toute perte de données afin d'assurer un haut niveau de précision et de qualité, et qu'ils puissent évoluer en fonction des besoins des entreprises. Ils doivent être suffisamment polyvalents pour accueillir des données structurées, non structurées et semi-structurées.
Traditionnellement, les pipelines de données étaient déployés dans des centres de données sur site pour gérer la circulation des données entre les systèmes, les sources et les outils locaux. Mais avec l'augmentation rapide du volume et de la complexité des données, les pipelines de données cloud se sont imposés comme une architecture de pipeline particulièrement évolutive, flexible et agile.
Ces solutions déploient des données dans le cloud via des services tels qu'Amazon Web Services (AWS), Microsoft Azure et Google Cloud Platform (GCP). Elles sont conçues pour automatiser le déplacement et la transformation des données entre plusieurs sources, systèmes de stockage et outils d'analyse, dans un environnement cloud. Elles permettent, par exemple, de déplacer plus facilement les données d'un site de commerce en ligne ou d'un logiciel de business intelligence vers un data warehouse cloud.
Les architectures de pipeline modernes doivent permettre la circulation et l'analyse rapides et précises des données dans de grands pipelines de données. Les solutions cloud natives offrent résilience et flexibilité. Elles servent de socle au traitement des données et aux analyses en temps réel, et facilitent l'intégration des données, entre autres avantages.
L'architecture du pipeline de données peut être décomposée en cinq composantes ou étapes interconnectées. Chacune alimente la suite pour créer un flux constant de données.
Le pipeline a pour point de départ les sources de données, c'est-à-dire les systèmes internes et externes qui collectent les données métier et client. Dans la plupart des entreprises, différents systèmes et logiciels génèrent des données : plateformes de streaming, outils d'analyse, systèmes de point de vente, etc. Des transactions au comportement des clients, toutes les données peuvent être utiles.
L'étape de l'acquisition consiste à collecter les données de vos différentes sources pour les injecter dans le pipeline de données. Les interfaces de programmation d'applications (API) lisent ces données et les importent à des intervalles spécifiques (importation par batch) ou en temps réel (importation en streaming).
Mais il n'est pas forcément nécessaire d'importer toutes les données. Pour éviter de submerger votre pipeline de données sans intérêt ou inutilisables, les ingénieurs data évaluent la diversité, le volume et la vélocité des données pour importer uniquement les plus utiles.
Cela peut se faire manuellement ou, comme c'est généralement le cas avec les pipelines de données cloud, de façon automatisée pour un maximum d'efficacité.
Il est maintenant temps de convertir les données brutes importées dans un format et une structure normalisés.
À ce stade, les données passent par divers processus :
L'un des principaux objectifs consiste à normaliser les formats de données, réconcilier les divergences et aligner les définitions de variables pour assurer la cohérence et la fiabilité des données. Cette étape peut également impliquer le filtrage des données non pertinentes et le rapprochement des données encodées.
En fin de compte, on veut obtenir des informations aussi complètes et précises que possible pour générer des insights valides et fiables.
Les données traitées et transformées sont ensuite stockées dans un dépôt durable, accessible et sécurisé. L'emplacement choisi pour le stockage des données dépend de plusieurs critères : accessibilité, coût et évolutivité.
Les données sont généralement stockées dans un data warehouse ou un data lake centralisé, où elles pourront être exploitées à des fins d'analyse, de business intelligence et de création de rapports.
Les data scientists et les analystes puisent dans les données de ce dépôt centralisé à l'aide d'un éventail de méthodes et d'outils d'analyse pour en extraire des insights utiles en identifiant des schémas remarquables, des relations, des tendances et des anomalies.
Pour ce faire, ils emploient notamment des techniques SQL avancées, le machine learning et différentes méthodologies d'analyse statistique. Les informations qu'ils extraient sont présentées sous forme de visualisations : rapports en tableaux, graphiques et cartes thermiques, notamment.
Il existe différentes architectures de pipelines de données, adaptés à différents cas d'usage du fait de leurs attributs spécifiques.
Les pipelines de batch sont, comme leur nom le suggère, utilisés pour traiter les données par lot. Si vous avez besoin de déplacer un grand nombre de points de données d'un système (système de paie, par exemple) vers un data warehouse, vous pouvez utiliser un pipeline de batch.
Les données ne sont pas transférées en temps réel. On attend généralement qu'elles s'accumulent et on les transfère selon un calendrier défini.
Un pipeline de streaming peut être utilisé pour traiter les données brutes presque instantanément. Le moteur de traitement des flux traite les données en temps réel, au fur et à mesure qu’elles sont générées, ce qui en fait une excellente alternative pour les organisations qui accèdent à des informations en continu, comme les marchés financiers ou les médias sociaux.
L'architecture Lambda offre une approche hybride pour le traitement des données en combinant traitement par batch et en streaming. Si cette approche peut avoir des avantages, notamment en termes d'évolutivité et de flexibilité, ses inconvénients peuvent être plus importants.
Elle est souvent considérée comme inutilement complexe parce qu'elle exige plusieurs couches (batch, vitesse et service). Elle implique donc un temps et une puissance de calcul considérables, sans parler du coût. De plus, comme deux bases de code différentes doivent être synchronisées, elle peut être difficile à maintenir et à déboguer.
L'architecture Delta sur Databricks offre une alternative à l'architecture Lambda. Axée sur la simplicité, l'architecture Delta importe, traite, stocke et gère les données au sein du Delta Lake. L'architecture Delta contient moins de code à maintenir, offre une source unique de vérité pour les utilisateurs en aval et facilite la fusion des nouvelles sources de données. Elle réduit également les coûts des tâches en minimisant le nombre de sauts de données et d'échecs, et en réduisant le temps de réalisation des tâches et de création de clusters.
« Pipeline de données » est un terme qui englobe différents processus et peut poursuivre des objectifs divers. Les pipelines jouent un rôle décisif dans les entreprises qui comptent sur les données.
Nous allons maintenant aborder les principaux avantages des pipelines de données dans les entreprises modernes :