Pour obtenir des informations pratiques à partir de l'analyse des données, il faut des données raffinées. L'acheminement des données brutes vers l'entrepôt de données de destination pour support décisions de l'entreprise nécessite un processus en plusieurs étapes pour transformer les données brutes en données utilisables.
Qu'est-ce que l'ETL (Extract, Load, Transform) ?
Les ingénieurs des données utilisent les processus ETL pour préparer les données à l'analyse. ETL est un acronyme pour Extract, Transform, and Load (extraction, transformation et chargement). Il décrit un processus en trois étapes utilisé pour extraire des données brutes de plusieurs systèmes sources et les transformer dans un format approprié avant de les charger dans un entrepôt de données.
Première étape : l'extraction
La première phase du processus ETL consiste à extraire les données opérationnelles brutes d'un ou de plusieurs systèmes sources. Cela peut se faire à l'aide d'un job batch quotidien si le jeu de données que vous chargez ne change que tous les jours. Le jeu de données peut être écrasé après une commande SQL TRUNCATE TABLE si le jeu de données est petit. Les jeux de données sources plus importants peuvent être extraits de manière incrémentielle ou partielle, en ne prenant en compte que les modifications apportées à l'extrait précédent.
Une extraction partielle avec une technique de notification de mise à jour est utilisée lorsque les données sources doivent être synchronisées au fur et à mesure des changements afin de fournir des mises à jour en temps quasi réel à l'entrepôt de données. Le système source peut envoyer des modifications à plusieurs systèmes cibles abonnés s'il s'agit de connexions "one-to-many". Les micro-lots sont utiles pour les systèmes qui changent rapidement. Le système cible peut interroger le système source toutes les cinq secondes pour connaître les modifications, qui peuvent être appliquées au système cible en temps quasi réel.
Les bases de données sources peuvent mettre en œuvre la réplication à l'aide de déclencheurs au niveau des lignes qui se déclenchent lorsqu'un événement tel qu'une opération d'insertion, de suppression ou de mise à jour s'est produit. Ces déclencheurs peuvent être programmés pour mettre à jour un journal des modifications à partir duquel les systèmes en aval peuvent extraire des données. L'utilisation d'un système de messagerie tel qu'Amazon SNS vous permet d'envoyer des notifications directement à vos systèmes cibles pour les informer des mises à jour du système source. Ce type de relation asynchrone entre les systèmes de données source et cible garantit que les systèmes source opérationnels ne sont jamais bloqués parce qu'un système cible ne peut pas accueillir la mise à jour pour une raison quelconque.
Les relations entre les systèmes source et cible peuvent prendre la forme d'une simple connexion point à point, simple à mettre en place et à maintenir. Au fil du temps, les entreprises finissent par créer des centaines de connexions de ce type, qui deviennent trop lourdes à maintenir et à administrer. À ce stade, un outil ETL à la demande peut consolider la gestion de toutes les connexions, ce qui en fait un excellent investissement. Un aspect important de l'extraction est la mémorisation de la source des données, afin que les systèmes puissent la cataloguer pour maintenir et auditer la trace de l'origine des données. La provenance des données (également appelée "lignée de données") est une métadonnées qui est associée à des enregistrements détaillant l'origine, les modifications et les détails soutenant les origines de la source de données. Ce suivi des sources permet de contrôler les doublons et de déterminer si les données sont dignes de confiance ou fiables.
L'extraction de données peut être aussi simple que l'importation d'une version CSV d'une feuille de calcul ou aussi complexe que l'utilisation d'une interface de programmation d'application (API) d'un service web. La plupart des applications d'entreprise fournissent des API pour permettre l'extraction à l'aide d'une application ou d'un outil ETL. Le format des données sources détermine souvent la manière dont elles peuvent être extraites. Un flux JSON, par exemple, nécessite l'utilisation d'une API de services web. Un fichier plat peut être lu de manière séquentielle. Une source de base de données dispose généralement d'un utilitaire d'exportation permettant de décharger les données dans un fichier plat.
Deuxième étape : transformation
Les données brutes provenant d'une source opérationnelle doivent généralement être manipulées et nettoyées pour être adaptées à la consommation générale. La transformation des données s'effectue souvent dans une base de données intermédiaire ou de transit. Les données brutes de la source peuvent contenir des données excédentaires qui doivent être filtrées. Elles peuvent présenter des lacunes qui peuvent être comblées par des valeurs par défaut ou des données interpolées. Les données en double peuvent être agrégées ou supprimées en fonction de l'utilisation prévue dans la base de données cible. Si des données connexes sont extraites de plusieurs sources, elles peuvent être fusionnées pour créer un enregistrement unique. Les valeurs des données peuvent être normalisées. Par exemple, différentes sources de données sur les clients peuvent les enregistrement différemment. Un système peut écrire l'État en toutes lettres, comme "New York", tandis que d'autres utilisent une abréviation telle que "NY". La normalisation de l'abréviation peut être effectuée lors de la transformation des données. La transformation peut inclure des opérations de qualité des données, telles que la vérification des valeurs dans plusieurs sources avant de les transmettre en aval en tant que valeur de confiance.
Troisième étape : Chargement
Le chargement des données dans le système cible est la dernière étape du processus ETL. Le chargement des données peut être effectué à l'aide d'un utilitaire de chargement en masse, d'un streaming, d'une messagerie asynchrone ou d'un programme personnalisé. Les données existantes peuvent être entièrement écrasées, complétées ou partiellement mises à jour avec de nouvelles valeurs. La fréquence de mise à jour peut être effectuée par lots, par exemple pendant la nuit, périodiquement par micro-lots ou en continu dans un flux de données.
Qu'est-ce que l'extraction, le chargement et la transformation (ELT) ?
ELT signifie Extract, Load and Transform (extraction, chargement et transformation). ELT s'écarte du processus ELT traditionnel en effectuant des transformations de données à l'intérieur d'une base de données cible ou intermédiaire, généralement en utilisant SQL. L'ELT achève la transformation des données avant de charger l'entrepôt de données afin d'éviter d'avoir des données brutes dans l'entrepôt de données de destination.
ETL vs. ELT. Quelles sont les différences ?
Il existe deux différences principales entre l'ETL et l'ELT :
- L'ETL se concentre sur le chargement de données transformées et plus propres dans l'entrepôt de données cible.
- ELT transforme les données brutes dans l'entrepôt de données.
- L'ETL utilise un magasin de données intermédiaire et un serveur de base de données pour transformer les données.
- ELT effectue des transformations de données dans l'entrepôt de données cible.
L'ETL peut être considéré comme plus complexe parce qu'il utilise plus de serveurs et de magasins de données que l'ELT. L'ELT apparaît donc comme un pipeline de données plus rationalisé. Le chargement et le déchargement des données peuvent être lents, de sorte que l'exécution de la transformation dans le même serveur peut être plus rapide. L'idée des ELT a été proposée et popularisée par des fournisseurs d'entrepôts de données tels que Teradata, car elle encourageait les clients à acquérir des licences pour des systèmes d'entrepôts de données plus étendus.
ETL vs. ELT : quelle est la meilleure solution ?
Plusieurs facteurs doivent être pris en compte lorsque vous décidez d'utiliser l'ETL ou l'ELT. Si la capacité de votre entrepôt de données est limitée, utilisez l'ETL. L'ELT ne nécessitant que de bonnes compétences en SQL, il peut éviter à votre équipe d'apprendre à utiliser des outils externes pour effectuer des transformations de données. Si les données sources ont besoin d'une modification minimale, telle que le dédoublonnage, l'ELT est une bonne approche. Si les données sources doivent être complétées, fusionnées avec d'autres sources et que les types de données doivent être modifiés, l'ELT est un meilleur choix.
ETL avec Actian DataConnect
Pour mieux support ETL, Actian DataConnect propose un éditeur d'extraction qui vous permet de baliser les données non structurées, d'extraire les champs de données requis à partir de différentes lignes du fichier et d'assembler les champs dans un enregistrement données à plat. Le contenu extrait est présenté sous forme de tableaux à lignes et à colonnes, que vous pouvez visualiser avant de convertir les données dans un format cible. Les données extraites sont utilisées comme source dans l'éditeur de cartes pour d'autres activités de transformation des données. L'éditeur d'extraction fournit un ensemble riche de règles et d'actions de reconnaissance des formes pour aider à l'extraction propre des données.
Actian DataConnect peut analyser des données en colonnes dans un texte sélectionné en utilisant un séparateur de colonnes donné. Cela permet de diviser une ligne de texte en plusieurs champs de données. Les données balisées peuvent utiliser une valeur de séparateur de balises utilisateur pour diviser une ligne de texte en un modèle de reconnaissance de ligne et un champ de données dont les colonnes de début et de fin sont fixes.
Les scripts d'extraction peuvent être générés en enregistrant les fichiers d'extraction sous la forme d'un fichier de script CXL (Content Extraction Language). Actian DataConnect fournit un moteur d'exécution, qui est un moteur Embarqué, de haute performance et multiplateforme. Il exécute les artefacts d'intégration créés à l'aide de l'IDE Actian DataConnect Studio ou du SDK Studio sur des serveurs Windows ou Linux. Le même package d'intégration portable (fichier .djar) peut être exécuté sur n'importe laquelle de ces plateformes sans modification du code.
Le moteur d'exécution peut être appelé via une interface de ligne de commande (CLI), le SDK Java, le gestionnaire d'intégration ou son API. Cette section fournit des informations sur l'utilisation du moteur d'exécution via l'interface de ligne de commande. plateforme de données Actian inclut un moteur d'exécution gratuit, qui peut être mis à niveau pour support plusieurs flux de travaux parallèles pour le chargement de données dans l'entrepôt de données cloud. Actian rend l'ETL beaucoup plus facile à gérer en incluant la plateforme de données ActianActian rend l'ETL et l'ETL beaucoup plus faciles à gérer en incluant la plateforme de données ActianMC, un entrepôt de données robuste basé sur le nuage avec les capacités d'intégration de données pour l'alimenter à partir de multiples sources de données sur site et SaaS.
Il est temps de faciliter l'accès à vos données ; visitez notre site Web pour en savoir plus sur la gamme de produits et de solutions de données Actian.