Processus ETL (extraire, transformer et charger) dans Data Warehouse

Qu'est-ce que l'ETL?

ETL est un processus qui extrait les données de différents systèmes sources, puis transforme les données (comme l'application de calculs, de concaténations, etc.) et enfin charge les données dans le système Data Warehouse. La forme complète d'ETL est Extraire, Transformer et Charger.

Il est tentant de penser que créer un entrepôt de données consiste simplement à extraire des données de plusieurs sources et à les charger dans la base de données d'un entrepôt de données. C'est loin d'être la vérité et nécessite un processus ETL complexe. Le processus ETL nécessite la contribution active de diverses parties prenantes, notamment les développeurs, les analystes, les testeurs, les cadres supérieurs, et est techniquement difficile.

Afin de conserver sa valeur en tant qu'outil pour les décideurs, le système d'entrepôt de données doit évoluer avec les changements commerciaux. ETL est une activité récurrente (quotidienne, hebdomadaire, mensuelle) d'un système d'entrepôt de données et doit être agile, automatisée et bien documentée.

Pourquoi avez-vous besoin d'ETL ?

Il existe de nombreuses raisons d’adopter ETL dans l’organisation :

  • Il aide les entreprises à analyser leurs données commerciales pour prendre des décisions commerciales critiques.
  • Les bases de données transactionnelles ne peuvent pas répondre à des questions commerciales complexes auxquelles il est possible de répondre par l'exemple ETL.
  • Un Data Warehouse fournit un référentiel de données commun
  • ETL fournit une méthode pour déplacer les données de diverses sources vers un entrepôt de données.
  • À mesure que les sources de données changent, l'entrepôt de données sera automatiquement mis à jour.
  • Un système ETL bien conçu et documenté est presque essentiel au succès d'un projet d'entrepôt de données.
  • Permettre la vérification des règles de transformation, d’agrégation et de calcul des données.
  • Le processus ETL permet une comparaison d'échantillons de données entre le système source et le système cible.
  • Le processus ETL peut effectuer des transformations complexes et nécessite une zone supplémentaire pour stocker les données.
  • ETL permet de migrer des données vers un entrepôt de données. Convertissez vers les différents formats et types pour adhérer à un système cohérent.
  • ETL est un processus prédéfini pour accéder et manipuler les données source dans la base de données cible.
  • ETL dans l'entrepôt de données offre un contexte historique approfondi pour l'entreprise.
  • Il contribue à améliorer la productivité car il codifie et réutilise sans nécessiter de compétences techniques.

Processus ETL dans les entrepôts de données

ETL est un processus en 3 étapes

Processus ETL
Processus ETL

Étape 1) Extraction

Dans cette étape de l'architecture ETL, les données sont extraites du système source vers la zone de transfert. Les transformations, le cas échéant, sont effectuées dans la zone de préparation afin que les performances du système source ne soient pas dégradées. De plus, si des données corrompues sont copiées directement de la source dans la base de données de l'entrepôt de données, la restauration sera un défi. La zone de transit donne la possibilité de valider les données extraites avant qu’elles ne soient transférées dans l’entrepôt de données.

L'entrepôt de données doit intégrer des systèmes qui ont des

SGBD, Matériel, Operasystèmes d'exploitation et protocoles de communication. Les sources peuvent inclure des applications héritées telles que les mainframes, des applications personnalisées, des dispositifs de point de contact tels que des guichets automatiques, des commutateurs d'appel, des fichiers texte, des feuilles de calcul, des ERP, des données provenant de fournisseurs, de partenaires, entre autres.

Par conséquent, il faut une carte de données logique avant que les données ne soient extraites et chargées physiquement. Cette carte de données décrit la relation entre les sources et les données cibles.

Trois méthodes d'extraction de données :

  1. Extraction complète
  2. Extraction partielle - sans notification de mise à jour.
  3. Extraction partielle - avec notification de mise à jour

Quelle que soit la méthode utilisée, l'extraction ne doit pas affecter les performances et le temps de réponse des systèmes sources. Ces systèmes sources sont des bases de données de production en direct. Tout ralentissement ou blocage pourrait affecter les résultats financiers de l'entreprise.

Certaines validations sont effectuées lors de l'extraction :

  • Réconcilier les enregistrements avec les données sources
  • Assurez-vous qu'aucun spam/données indésirables n'est chargé
  • Vérification du type de données
  • Supprimez tous les types de données en double/fragmentées
  • Vérifiez si toutes les clés sont en place ou non

Étape 2) Transformation

Les données extraites du serveur source sont brutes et non utilisables sous leur forme originale. Il doit donc être nettoyé, cartographié et transformé. En fait, il s'agit de l'étape clé au cours de laquelle le processus ETL ajoute de la valeur et modifie les données de manière à générer des rapports BI perspicaces.

C'est l'un des concepts ETL importants dans lequel vous appliquez un ensemble de fonctions sur les données extraites. Les données qui ne nécessitent aucune transformation sont appelées déménagement direct or transmettre des données.

Lors de l'étape de transformation, vous pouvez effectuer des opérations personnalisées sur les données. Par exemple, si l'utilisateur souhaite un chiffre d'affaires qui ne figure pas dans la base de données. Ou si le prénom et le nom d’un tableau se trouvent dans des colonnes différentes. Il est possible de les concaténer avant le chargement.

Problèmes d'intégration des données
Problèmes d'intégration des données

Voici les données Integrity Problèmes:

  1. Orthographe différente de la même personne comme Jon, John, etc.
  2. Il existe plusieurs façons d'indiquer le nom d'une entreprise, comme Google, Google Inc.
  3. Utilisation de différents noms comme Cleaveland, Cleveland.
  4. Il peut arriver que différents numéros de compte soient générés par diverses applications pour le même client.
  5. Dans certaines données, les fichiers requis restent vides
  6. Produit invalide collecté au point de vente car la saisie manuelle peut entraîner des erreurs.

Les validations sont effectuées lors de cette étape

  • Filtrage – Sélectionnez uniquement certaines colonnes à charger
  • Utilisation de règles et de tables de recherche pour la normalisation des données
  • Conversion des jeux de caractères et gestion de l'encodage
  • Conversion d'unités de mesure telles que la conversion de date et d'heure, les conversions de devises, les conversions numériques, etc.
  • Vérification de la validation du seuil de données. Par exemple, l’âge ne peut pas comporter plus de deux chiffres.
  • Validation des flux de données depuis la zone de transit vers les tables intermédiaires.
  • Les champs obligatoires ne doivent pas être laissés vides.
  • Nettoyage (par exemple, mapper NULL sur 0 ou Gender Male sur « M » et Female sur « F », etc.)
  • Divisez une colonne en multiples et fusionnez plusieurs colonnes en une seule colonne.
  • Transposer des lignes et des colonnes,
  • Utiliser des recherches pour fusionner des données
  • En utilisant n'importe quelle validation de données complexe (par exemple, si les deux premières colonnes d'une ligne sont vides, la ligne est automatiquement rejetée du traitement)

Étape 3) Chargement

Le chargement des données dans la base de données de l'entrepôt de données cible est la dernière étape du processus ETL. Dans un entrepôt de données typique, un énorme volume de données doit être chargé sur une période relativement courte (nuit). Par conséquent, le processus de chargement doit être optimisé pour les performances.

En cas de panne de chargement, les mécanismes de récupération doivent être configurés pour redémarrer à partir du point de panne sans perte d'intégrité des données. Les administrateurs de Data Warehouse doivent surveiller, reprendre et annuler les chargements en fonction des performances actuelles du serveur.

Types de chargement :

  • Charge initiale — remplir toutes les tables de l'entrepôt de données
  • Charge incrémentielle — appliquer périodiquement les changements en cours selon les besoins.
  • Rafraîchissement complet -effacer le contenu d'une ou plusieurs tables et recharger avec de nouvelles données.

Vérification de la charge

  • Assurez-vous que les données du champ clé ne sont ni manquantes ni nulles.
  • Testez les vues de modélisation en fonction des tables cibles.
  • Vérifiez que les valeurs combinées et les mesures calculées.
  • Vérification des données dans la table de dimensions ainsi que dans la table historique.
  • Vérifiez les rapports BI sur la table de faits et de dimensions chargée.

Outils ETL

Il y a beaucoup de Outils ETL sont disponibles sur le marché. En voici quelques-uns les plus importants :

1. MarkLogic :

MarkLogic est une solution d'entreposage de données qui facilite et accélère l'intégration des données à l'aide d'un éventail de fonctionnalités d'entreprise. Il peut interroger différents types de données comme des documents, des relations et des métadonnées.

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle est la base de données leader du secteur. Il offre un large choix de solutions d'entrepôt de données sur site et dans le cloud. Il contribue à optimiser l’expérience client en augmentant l’efficacité opérationnelle.

https://www.oracle.com/index.html


3. Amazon RougeShift:

Amazon Redshift est un outil Datawarehouse. Il s'agit d'un outil simple et économique pour analyser tous les types de données à l'aide de normes SQL et les outils BI existants. Il permet également d'exécuter des requêtes complexes sur des pétaoctets de données structurées.

https://aws.amazon.com/redshift/?nc2=h_m1

Voici une liste complète des informations utiles Outils d'entrepôt de données.

Processus ETL des meilleures pratiques

Voici les bonnes pratiques pour les étapes du processus ETL :

N'essayez jamais de nettoyer toutes les données :

Toutes les organisations aimeraient que toutes leurs données soient propres, mais la plupart d’entre elles ne sont pas prêtes à payer pour attendre ou ne sont pas prêtes à attendre. Tout nettoyer prendrait tout simplement trop de temps, il est donc préférable de ne pas essayer de nettoyer toutes les données.

Ne nettoyez jamais quoi que ce soit :

Prévoyez toujours de nettoyer quelque chose, car la principale raison de créer un entrepôt de données est d'offrir des données plus propres et plus fiables.

Déterminez le coût du nettoyage des données :

Avant de nettoyer toutes les données sales, il est important que vous déterminiez le coût de nettoyage pour chaque élément de données sale.

Pour accélérer le traitement des requêtes, disposez de vues et d'index auxiliaires :

Pour réduire les coûts de stockage, stockez les données résumées sur des bandes de disque. En outre, un compromis entre le volume de données à stocker et leur utilisation détaillée est nécessaire. Compromis au niveau de la granularité des données pour diminuer les coûts de stockage.

Résumé

  • ETL signifie Extraire, Transformer et Charger.
  • ETL fournit une méthode pour déplacer les données de diverses sources vers un entrepôt de données.
  • Lors de la première étape d'extraction, les données sont extraites du système source vers la zone de transfert.
  • Lors de l'étape de transformation, les données extraites de la source sont nettoyées et transformées.
  • Le chargement des données dans l'entrepôt de données cible est la dernière étape du processus ETL.