Qu’est-ce que l’ingestion de données ?
Qu’est-ce que l’ingestion de données ?
L'ingestion de données fait référence au processus qui consiste à collecter des données provenant de différentes sources et à les copier vers un système cible à des fins de stockage et d'analyse. Les systèmes modernes considèrent que les données « circulent » entre et entre les systèmes et les appareils dans différents formats et vitesses. Par exemple, les données provenant de capteurs intelligents peuvent être reçues en continu sous la forme d'un flux constant d'entrées de capteurs, tandis que les données sur les ventes des clients peuvent être rassemblées et envoyées en fin de journée par lots. Les différentes sources de données nécessitent des contrôles de validation, un prétraitement et une gestion des erreurs avant que les données puissent entrer dans leur destination. L'ingestion de données inclut toutes les technologies et tous les processus nécessaires pour collecter en toute sécurité les données à des fins d'analytique ultérieure.
Pourquoi l’ingestion de données est-elle importante ?
Le processus d’ingestion de données est la première étape de tout pipeline de données. Il garantit que les données brutes sont collectées, préparées et mises à disposition de manière appropriée pour les processus en aval. Voici les raisons pour lesquelles une ingestion de données précise est essentielle.
Prend en charge la priorisation des données
Les analystes commerciaux et les data scientists donnent la priorité aux sources de données les plus critiques, en configurant les pipelines d'ingestion de données pour un traitement et une intégration efficaces. En fonction des besoins d'une opération, les données prioritaires sont déplacées vers le nettoyage, la déduplication, la transformation ou la propagation. Ces étapes préparatoires sont essentielles à l’efficacité des opérations relatives aux données. Une approche hiérarchisée améliore l’efficacité de l’entreprise tout en rationalisant le traitement des données.
Supprime les silos de données
En collectant des données provenant de sources multiples et en les convertissant dans un format unifié, l’ingestion de données permet aux entreprises d’obtenir une vue consolidée de leurs actifs de données. Ce processus permet d’éviter les silos de données et de rendre les informations plus accessibles entre les différents services pour une meilleure collaboration.
Accéléré par l'automatisation
Après avoir créé un système d’ingestion de données, les ingénieurs des données peuvent configurer divers contrôles d’automatisation pour accélérer encore le processus. Ces processus alimentent facilement d’autres outils pilotés par les données, tels que l’IA et les modèles de machine learning, qui s’appuient sur ces données. Les pipelines de données automatisés contribuent également à rationaliser l'ensemble du processus.
Améliore l’analytique
Les informations pertinentes doivent être facilement disponibles pour que l’analytique des données soit efficace. Lors de l'ingestion de données, vous pouvez combiner plusieurs sources ou effectuer des activités d'enrichissement des données. La couche d'ingestion de données dirige les données vers les systèmes de stockage appropriés, tels que des entrepôts de données ou desdata marts spécialisés, permettant un accès rapide et fiable aux données. L’accès aux données à la demande permet le traitement et l’analytique des données en temps réel. Votre entreprise peut utiliser les résultats de l’analyse des données pour prendre des décisions commerciales plus précises.
Quels sont les types de processus d'ingestion de données ?
L’ingestion de données et les approches varient en fonction du volume, de la vitesse et du cas d’utilisation des données.
Ingestion de données par lot
Les outils d'ingestion par lots collectent des données sur une période donnée, en ingérant un groupe de plusieurs entrées de données en une seule fois. Ils sont généralement configurés pour ingérer des données à des intervalles réguliers, comme à la fin de la journée, le weekend ou à la fin du mois. Par exemple, un logiciel de retouche d'images pourrait télécharger automatiquement toutes les images retouchées sur le cloud à la fin de la journée.
Le traitement de données par lots importants peut être un processus rapide ou lent s'il implique de grandes quantités de données. S'il s'agit d'un transfert lent et qu'il y a des erreurs, le redémarrage du lot peut s'avérer coûteux et complexe. Les ingénieurs qui utilisent le traitement par lots créent des pipelines tolérants aux pannes qui leur permettent de repartir de l'endroit où le lot a été interrompu pour la dernière fois.
Cette approche fonctionne mieux lorsque vous souhaitez analyser des données historiques ou lorsque le calendrier n'est pas pertinent. Pour ingérer des données en temps quasi réel ou en temps réel, l'une des méthodes suivantes est souvent préférable.
Ingestion des données en streaming
Les outils d'ingestion de données en streaming collectent les données dès leur génération, par exemple lors de l'ingestion de données provenant de capteurs IoT qui effectuent des mesures en continu. Bien que le streaming garantisse l'accès aux données les plus récentes, il peut être gourmand en ressources. Les ingénieurs de données doivent gérer les erreurs du système ou du réseau et les retards du réseau, qui peuvent entraîner des pertes de données et créer des lacunes dans le flux de données.
Il existe deux approches pour l’ingestion de données en streaming.
Ingestion par extraction
L'outil d'ingestion interroge les sources et effectue l'extraction des données. Il peut le faire en continu ou à des intervalles prédéfinis.
Ingestion par poussée
La source de données transmet les données à l’outil d’ingestion dès qu’elle génère de nouvelles informations.
Ingestion par micro-lots
L'ingestion de données par micro-lots divise les flux de données continus en segments plus petits et plus faciles à gérer, appelés flux discrétisés. Cette approche équilibre les avantages de l'ingestion par lots et de l'ingestion en streaming. Elle est idéale pour les scénarios dans lesquels un traitement en temps réel est souhaité, mais où le streaming complet demande trop de ressources. Cependant, l’ingestion par micro-lot entraîne toujours un certain retard par rapport à l’ingestion de streaming pure.
Le traitement par micro-lot est un moyen rentable d’ingérer des données en temps quasi réel sans payer les coûts plus élevés associés au streaming.
Ingestion basée sur les événements
Il s'agit d'une forme spécialisée d'ingestion basée sur la poussée. Les systèmes pilotés par les événements ingèrent des données lorsqu'un événement ou un déclencheur spécifique se produit plutôt que de manière continue ou à des intervalles définis. Cette approche est couramment utilisée pour des applications, telles que le traitement des commandes, les notifications aux clients et la surveillance du système. Cette méthode réduit les mouvements de données inutiles et optimise l'utilisation des ressources en ingérant les données uniquement lorsque cela est nécessaire. Cependant, un fonctionnement efficace repose sur des déclencheurs d’événements et des mécanismes de gestion des événements bien définis.
Capture des données modifiées
Les systèmes de capture des données modifiées (CDC) sont un type d’ingestion basée sur les événements couramment utilisé pour la réplication de bases de données, l’entreposage incrémentiel de données et la synchronisation entre des systèmes distribués. L’outil d’ingestion de données ingère uniquement les modifications apportées à une base de données au lieu de transférer des jeux de données entiers. En surveillant les événements du journal des transactions, la CDC identifie les insertions, les mises à jour et les suppressions, puis les propage à d'autres systèmes en temps quasi réel. La CDC minimise les coûts de transfert de données et améliore l'efficacité, mais nécessite l'assistance du système de base de données sous-jacent et peut entraîner des frais de traitement.
Quelle est la différence entre l’ingestion de données, l’intégration et l’ETL ?
Ces concepts sont souvent confondus, mais ils comportent des distinctions importantes.
Ingestion de données vs intégration de données
L’intégration des données consiste à combiner différents ensembles de données dans une vue unifiée. Il s'agit d'un terme générique désignant le transfert de données provenant de plusieurs systèmes sources vers un système cible unique, la fusion des données, la suppression des données inutiles, l'élimination des doublons, puis leur analyse pour obtenir des informations approfondies. Par exemple, l’intégration des données du profil client aux données d’achat des commandes donne un aperçu des préférences de commande d’un groupe d’âge ou d’un groupe démographique géographique particulier.
L’ingestion de données est la première étape de tout pipeline d’intégration de données. Cependant, l'intégration des données implique d'autres outils et technologies au-delà de l'ingestion, notamment les pipelines d'extraction, de transformation, de chargement (ETL) et les requêtes de données.
Ingestion de données vs ETL et ELT
L'extraction, la transformation et le chargement (ETL) est un type d'architecture en plusieurs étapes qui améliore la qualité des données en plusieurs phases, ou sauts. Dans l’ETL, les données sont extraites de leur source, transformées dans les formats souhaités par les outils d’analytique, puis chargées dans un système de stockage de données, tel qu’un entrepôt de données ou un lac.
L'extraction, le chargement et la transformation (ELT) est un pipeline alternatif qui inverse la transformation des données et les segments de chargement de l'ETL. Il s'agit d'une architecture à saut unique, ce qui signifie que les données sont chargées et transformées sur le système cible.
L'ingestion de données fait référence aux étapes d'extraction et de chargement des pipelines ETL et ELT. Cependant, l'ETL et l'ELT ne se limitent pas à l'ingestion de données, le traitement des données se faisant au stade de la transformation.
Quels sont les défis posés par l’ingestion de données ?
Voici quelques défis que les organisations doivent prendre en compte lors de l'ingestion de données.
Mise à l'échelle
La mise à l'échelle des systèmes d'ingestion de données est un défi pour les entreprises en raison du volume de données et de l'augmentation de la vitesse des données au fil du temps.
Mise à l'échelle verticale et horizontale
Les entreprises utilisent deux stratégies principales de mise à l’échelle. La mise à l’échelle horizontale implique la répartition des charges de travail d’ingestion sur plusieurs nœuds. Cela nécessite un équilibrage de charge et une coordination efficaces pour éviter les goulots d’étranglement. La mise à l'échelle verticale repose sur l'augmentation de la puissance de traitement au sein d'un seul nœud, ce qui peut être plus facile à concevoir, mais qui est limité par la puissance de traitement du nœud. L'un des principaux défis consiste à faire en sorte que le pipeline d'ingestion puisse gérer un volume croissant de données sans entraîner de retards ni de défaillances du système.
Pour surmonter les problèmes de dimensionnement, vous pouvez utiliser Amazon Kinesis Data Streams pour l'ingestion de données en temps réel avec une mise à l'échelle horizontale. Amazon EMR permet également aux utilisateurs d'exécuter et de mettre à l'échelle facilement Apache Spark, Trino et d'autres charges de travail liées au big data.
Architectures sans serveur
Les pipelines sans serveur sont des architectures d'ingestion de données à la demande qui ne nécessitent ni configuration ni déploiement d'instance. Les architectures sans serveur sont les mieux adaptées aux modèles d'ingestion de données variables ou à l'ingestion pilotée par des événements.
Par exemple, les pipelines d'ingestion sans serveur sur AWS peuvent être créés avec Amazon Data Firehose et AWS Lambda.
Sécurité
La sécurité et la conformité sont des préoccupations essentielles lors de l’ingestion de données, en particulier lorsqu’il s’agit d’informations sensibles. Les organisations doivent se conformer aux réglementations en matière de confidentialité des données qui imposent des exigences strictes en matière de collecte, de transmission et de stockage des données.
Voici quelques bonnes pratiques en matière de sécurité des données lors de l'ingestion :
- Chiffrement des données en transit et au repos
- Contrôles d’accès et mécanismes d’authentification
- Techniques d’anonymisation et de masquage des données pour protéger les données d’identification personnelle (PII)
Pour protéger la sécurité des données lors de leur ingestion sur AWS, vous pouvez utiliser des services tels que :
- Amazon Macie pour découvrir des données sensibles grâce au machine learning et à la correspondance de modèles
- Service de gestion des clés AWS pour chiffrer les données de vos charges de travail AWS
- AWS PrivateLink pour la connectivité entre les clouds privés virtuels Amazon (VPC) et les services AWS sans exposer les données à Internet.
Fiabilité du réseau
Les interruptions du réseau, les défaillances des API et l'incohérence de la disponibilité des données peuvent perturber le processus d'ingestion des données. Ces événements créent des défis tels que la corruption des données. La surcharge de données provenant de n'importe quelle source peut entraîner une perte de données ou ralentir temporairement des systèmes tels que vos entrepôts de données. Une limitation adaptative peut être nécessaire pour gérer les pics de flux de données. La gestion de la contre-pression permet à l’outil d’ingestion de données de gérer les données entrantes à un débit correspondant à sa capacité de traitement.
Réessayer ou retenter de traiter les données ayant échoué constitue une autre stratégie de gestion des erreurs. L’outil d’ingestion de données envoie des demandes de renvoi à la source lorsqu’il identifie des données corrompues ou manquantes. Réessayer augmente la précision mais peut avoir un impact sur le débit et la latence prévus.
Pour implémenter les nouvelles tentatives automatisées sur AWS, vous pouvez créer vos propres flux de travail à l'aide d'AWS Step Functions, tandis qu'Amazon Kinesis propose des politiques et des processus configurables pour gérer les flux de données entrants.
Qualité des données
Lorsque des données arrivent dans le pipeline d'ingestion de données à partir de différentes sources, rien ne garantit qu'elles seront dans un format cohérent applicable à l'organisation. Les sources de données brutes peuvent contenir des valeurs manquantes, des formats de données incorrects et des incohérences de schéma. Cela est particulièrement vrai lorsque vous travaillez avec des données non structurées, car le manque d’uniformité ajoute des couches d’interaction et de nettoyage supplémentaires.
Les outils d'ingestion de données incluent généralement des contrôles de qualité des données et mettent en œuvre des méthodes pour valider, nettoyer et normaliser les données. La déduplication automatisée, l’application des schémas et la détection des anomalies basée sur l’IA peuvent aider à identifier et à corriger les erreurs avant qu’elles ne se propagent davantage dans le pipeline de données.
Les outils de qualité des données sur AWS incluent la Qualité des données d'AWS Glue pour les règles de qualité et l'automatisation, et Amazon DataZone pour le catalogage et la gouvernance des données.
Comment les cadres d'ingestion de données permettent-ils de prendre de meilleures décisions commerciales ?
Un accès plus rapide à des données précises aide les équipes à identifier les tendances plus rapidement, à répondre aux besoins des clients au fur et à mesure de leur évolution et à ajuster leurs stratégies en temps réel. Votre organisation sera mieux équipée pour prendre des décisions fondées sur des preuves et non sur des intuitions.
Instaurer la confiance grâce à des pipelines de données sécurisés et fiables
Les clients et les régulateurs attendent des entreprises qu'elles traitent les données de manière responsable. Un processus d'ingestion de données bien conçu permet de répondre à ces attentes en garantissant la collecte, le transit et l'accès aux données en toute sécurité.
Cela présente des avantages qui vont au-delà des améliorations opérationnelles immédiates que vous constaterez. La conformité devient plus fiable et la démonstration d'une gestion sécurisée des données dans vos entrepôts de données peut renforcer la confiance interne au sein des équipes et renforcer la confiance des clients.
Simplifiez la conformité et les rapports dans l'ensemble de votre entreprise
Un processus d'ingestion de données fiable aide votre organisation à répondre aux exigences réglementaires et à simplifier les audits. Lorsque les données de l'ensemble de votre entreprise sont collectées de manière cohérente et sécurisée, cela crée un enregistrement clair et traçable des opérations, ce qui est particulièrement important pour la conformité à des normes telles que le règlement général sur la protection des données (RGPD), la loi HIPAA (Health Insurance Portability and Accountability Act) ou la norme de sécurité des données de l'industrie des cartes de paiement (PCI DSS).
L'ingestion des données automatisée réduit le risque d'erreur humaine et garantit que les données requises sont saisies en temps opportun. Cela permet de générer plus facilement des rapports précis, de répondre aux demandes des auditeurs et de démontrer que vos pratiques en matière de données sont transparentes et contrôlées.
Permettre une innovation plus rapide au sein des équipes
Lorsque les données sont ingérées de manière fiable et mises à disposition rapidement, les équipes de l'entreprise peuvent gagner en agilité. Par exemple, les équipes chargées des produits, du marketing et des opérations peuvent tester des hypothèses, mesurer les résultats dans votre système de gestion de la relation client (CRM) et effectuer des itérations sans attendre que le service informatique prépare les jeux de données. Grâce à des pipelines d'ingestion automatisés, ces équipes bénéficient d'un accès en libre-service à des données récentes et fiables qui peuvent accélérer le délai d'obtention d'informations.
Comment AWS peut répondre à vos exigences en matière d'ingestion de données ?
AWS fournit des services et des fonctionnalités permettant d'ingérer différents types de données dans les bases de données Cloud AWS ou dans d'autres services d'analytique. Par exemple :
- Amazon Data Firehose fait partie de la gamme de services Kinesis qui se met à l’échelle automatiquement selon le volume et le débit des données en streaming et ne nécessite aucune administration continue.
- AWS Glue est un service ETL sans serveur entièrement géré qui catégorise, nettoie, transforme et transfère de manière fiable les données entre différents magasins de données de manière simple et rentable.
- AWS Transfer Family est un service de transfert sécurisé et entièrement géré permettant de déplacer des fichiers vers et depuis les services de stockage AWS.
- AWS Databases et AWS Database Migration Service (DMS) fournissent des mécanismes permettant de capturer et de diffuser les modifications depuis tous les services de base de données AWS. Vous pouvez utiliser la CDC native d'Amazon DynamoDB ou d'Amazon Neptune, ce qui vous permet de réduire la complexité de vos pipelines d'intégration de données. Une autre option consiste à utiliser la CDC dans AWS Database Migration Service (DMS), qui extrait les modifications du journal des transactions de la source. Le DMS est un service hautement disponible, résilient pour des tâches de réplication aussi longues. Vos flux de données peuvent ensuite être éventuellement transformés et distribués à l'aide d'Amazon MSK, Amazon Kinesis ou AWS Glue.
- Amazon Managed Streaming for Apache Kafka (Amazon MSK) est un service entièrement géré qui facilite la création et l’exécution des applications qui utilisent le logiciel open source Apache Kafka pour l’ingestion de flux.
Vous pouvez également installer les plateformes d’ingestion de données personnalisées sur Amazon EC2 et Amazon EMR, et créer vos propres couches de stockage et de traitement des flux. De cette façon, vous évitez les frictions liées à l’allocation de l’infrastructure et vous avez accès à divers cadres de stockage et de traitement des flux.
Commencez à ingérer des données sur AWS en créant un compte gratuit dès aujourd'hui.