L'ingestion de données est la première étape du cycle de vie du data engineering. Elle consiste à collecter les données provenant de sources diverses – bases de données, applications SaaS, sources de fichiers, API, appareils IoT, etc. – et à les stocker dans un dépôt centralisé, qui peut être un data lake, un data warehouse ou un lakehouse. C'est l'étape qui permet aux organisations de nettoyer et d'unifier les données afin d'utiliser l'analytique et l'IA pour prendre des décisions data-driven.
Traditionnellement, l'ingestion de données repose sur une combinaison de scripts sur mesure, de cadres open source comme Apache NiFi et Kafka, ou de solutions gérées par des fournisseurs de cloud tels que AWS Glue, Google Cloud Dataflow et Azure Data Factory. La maintenance de ces méthodes exige souvent un effort d'ingénierie important, en particulier lorsque les schémas évoluent et qu'il faut maintenir la cohérence et le traitement en temps réel des données à grande échelle. De nombreuses entreprises s'appuient également sur des outils d'ingestion, de transformation et d'orchestration séparés, ce qui accroît encore la complexité accrue et crée des silos de données.
Contrairement à l'ETL (extraction, transformation, chargement), qui transforme les données avant de les charger, l'ingestion déplace les données brutes directement vers leur destination pour un accès plus rapide et un maximum de flexibilité.
Les méthodes d'ingestion de données varient en fonction du cas d'utilisation. La collecte de données peut se faire par batches programmés, en flux continu ou un hybride des deux.
Différentes structures de données nécessitent des techniques d'ingestion et de traitement spécifiques :
L'éventail des outils d'ingestion de données est large. Il existe des options open source comme Apache NiFi et Kafka, connues pour leur flexibilité et leur personnalisation, mais aussi des plateformes commerciales comme la Databricks Data Intelligence Platform, qui réunit l'ingestion, la transformation et l'orchestration en une seule solution.
Bâtie sur la Data Intelligence Platform, Databricks Lakeflow est une solution unifiée et intelligente pour le data engineering. Elle couvre l'ingestion, la transformation et l'orchestration des données.
Lakeflow Connect, un composant de LakeFlow, propose des connecteurs pour diverses sources de données, offrant ainsi des moyens flexibles, faciles et efficaces d'ingérer aussi bien des données structurées que non structurées provenant d'applications d'entreprise, de sources de fichiers et de bases de données.
Lakeflow Connect est capable d'importer de données à partir d'une variété de sources de données différentes :
Les outils d'ingestion efficaces utilisent différentes fonctionnalités pour simplifier le traitement des données :
Les outils open source offrent de la flexibilité et du contrôle, mais leur configuration est souvent plus complexe, et c'est pourquoi ils sont plutôt recommandés aux équipes techniques. Databricks associe des fondements open source à un vaste écosystème de partenaires. La Databricks Data Intelligence Platform fournit un mécanisme d'ingestion géré intégrant un cadre de gouvernance intégrée et de l'automatisation afin de réduire les coûts et la complexité des opérations.
L'ingestion de données est généralement la première étape du traitement qui achemine les données de la collecte à l'analyse, et elle est suivie d'une autre séquence d'opérations. Le but principal de l'ingestion est de collecter les données brutes de différentes sources et de les transférer vers un système de stockage, qu'il s'agisse d'un data lake, d'un data warehouse ou d'un lakehouse. La plupart des organisations procèdent ensuite à des étapes supplémentaires, car les données brutes doivent être affinées avant de devenir utiles pour l'analyse et la prise de décision. L'ingestion de données puise à de nombreuses sources sans altérer le format des données. Ses priorités sont la vitesse, la flexibilité et la disponibilité des données en vue d'autres étapes de traitement.
L'ingestion des données importe des données brutes provenant de diverses sources dans un dépôt sans les transformer, de manière à permettre un accès immédiat à des données non modifiées.
L'ETL implique l'extraction des données, leur transformation selon des exigences spécifiques et leur chargement dans un système cible. Il vise à préparer les données pour l'analyse. (Découvrez la différence entre ETL et ELT.)
Les pipelines de données se chargent de toute la séquence de déplacement des données transformées pour le traitement. Un pipeline effectue plusieurs opérations successives en plus de l'ingestion de données et de l'ETL : tests de validation, suppression des doublons, exécution d'algorithmes de machine learning et traitement des données en streaming.
L'ingestion de données est idéale pour les applications exigeant un accès rapide aux données brutes, car elle délivre des insights en quasi-temps réel. L'ETL convient mieux aux situations qui nécessitent des données préparées et structurées pour des activités de business intelligence et d'analytique, comme la production de rapports normalisés. Parce qu'ils combinent plusieurs étapes en un processus cohérent, les pipelines de données offrent un cadre plus large pour la gestion de workflows complexes.
Dans les architectures modernes, il est très courant que l'ingestion de données et l'ETL se complètent. Par exemple, les données peuvent, dans un premier temps, être importées dans un lakehouse où les processus ETL vont les préparer pour la réalisation d'analyses et de rapports plus approfondis. Parallèlement à cela, un pipeline de données va automatiser l'ensemble du workflow, de l'ingestion aux tâches de machine learning et d'analytique. Databricks Lakeflow intègre ces processus pour mettre sur pied un workflow unifié offrant une gestion complète des données avec un maximum de flexibilité.
Plusieurs bonnes pratiques fondamentales permettent d'assurer l'efficacité, la fiabilité et la gouvernance des workflows d'ingestion :
Une fois que les processus d'ingestion sont établis, l'optimisation continue permet de l'adapter à l'évolution des besoins commerciaux et de gérer efficacement l'augmentation des volumes de données.
