Processus ETL (extraction, transformation et chargement) dans l'entrepôt de données

Table des matières:

Anonim

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, 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 la création d'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. Ceci est loin d'être la vérité et nécessite un processus ETL complexe. Le processus ETL nécessite des contributions actives de diverses parties prenantes, y compris des développeurs, des analystes, des testeurs, des 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.

Dans ce didacticiel ETL, vous apprendrez-

  • Qu'est-ce que l'ETL?
  • Pourquoi avez-vous besoin d'ETL?
  • Processus ETL dans les entrepôts de données
  • Étape 1) Extraction
  • Étape 2) Transformation
  • Étape 3) Chargement
  • Outils ETL
  • Processus ETL des meilleures pratiques

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 un exemple ETL peut répondre.
  • Un entrepôt de données fournit un référentiel de données commun
  • ETL fournit une méthode pour déplacer les données de diverses sources dans un entrepôt de données.
  • À mesure que les sources de données changent, l'entrepôt de données se mettra à jour automatiquement.
  • Un système ETL bien conçu et documenté est presque essentiel à la réussite 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 de comparer des é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 aide à migrer les données dans un entrepôt de données. Convertissez aux 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 profond pour l'entreprise.
  • Il contribue à améliorer la productivité car il codifie et réutilise sans avoir besoin de compétences techniques.

Processus ETL dans les entrepôts de données

ETL est un processus en 3 étapes

Processus ETL

Étape 1) Extraction

Dans cette étape de l'architecture ETL, les données sont extraites du système source dans la zone de transit. 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 les 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 offre 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, systèmes d'exploitation et protocoles de communication. Les sources peuvent inclure des applications héritées telles que des 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 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 verrouillage pourrait affecter les résultats de l'entreprise.

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

  • Réconcilier les enregistrements avec les données source
  • Assurez-vous qu'aucun spam / données indésirables n'est chargé
  • Vérification du type de données
  • Supprimer tous les types de données dupliquées / 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 dans leur forme d'origine. Par conséquent, il doit être nettoyé, cartographié et transformé. En fait, il s'agit de l'étape clé où le processus ETL ajoute de la valeur et modifie les données de sorte que des rapports BI perspicaces peuvent être générés.

C'est l'un des concepts ETL importants où vous appliquez un ensemble de fonctions sur des données extraites. Les données qui ne nécessitent aucune transformation sont appelées déplacement direct ou transfert de données .

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

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

Voici les problèmes d'intégrité des données:

  1. Orthographe différente de la même personne comme Jon, John, etc.
  2. Il existe plusieurs façons de désigner le nom de l'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. Un produit invalide collecté au point de vente comme saisie manuelle peut entraîner des erreurs.

Les validations se font lors de cette étape

  • Filtrage - Sélectionnez uniquement certaines colonnes à charger
  • Utilisation de règles et de tables de consultation pour la normalisation des données
  • Conversion de jeux de caractères et gestion du codage
  • Conversion d'unités de mesure telles que la conversion de la date et de l'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 du flux de données de la zone de transit vers les tables intermédiaires.
  • Les champs obligatoires ne doivent pas être laissés vides.
  • Nettoyage (par exemple, mappage de NULL à 0 ou de Sexe Masculin à "M" et Femelle à "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
  • Utilisation de toute validation de données complexes (par exemple, si les deux premières colonnes d'une ligne sont vides, cela rejette automatiquement la ligne du traitement)

Étape 3) Chargement

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

En cas de défaillance de la charge, les mécanismes de récupération doivent être configurés pour redémarrer à partir du point de défaillance sans perte d'intégrité des données. Les administrateurs de l'entrepôt de données doivent surveiller, reprendre et annuler les charges en fonction des performances du serveur en vigueur.

Types de chargement:

  • Charge initiale - remplissage de toutes les tables de l'entrepôt de données
  • Charge incrémentale - appliquer périodiquement les changements en cours au besoin.
  • Actualisation complète - effacement du contenu d'une ou plusieurs tables et rechargement avec des données fraîches.

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 dimension ainsi que dans la table d'historique.
  • Vérifiez les rapports BI sur la table de faits et de dimensions chargée.

Outils ETL

De nombreux outils d'entreposage de données sont disponibles sur le marché. Voici quelques-uns des 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 une large gamme de choix de solutions d'entrepôt de données tant sur site que dans le cloud. Il permet d'optimiser l'expérience client en augmentant l'efficacité opérationnelle.

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


3. Amazon RedShift:

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 du SQL standard et des outils de 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 outils utiles d'entrepôt de données.

Processus ETL des meilleures pratiques

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

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

Chaque organisation souhaite que toutes les données soient nettoyées, 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 rien:

Prévoyez toujours de nettoyer quelque chose, car la principale raison de créer l'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 pour vous de déterminer le coût de nettoyage pour chaque élément de données sales.

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, le compromis entre le volume de données à stocker et son 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 dans un entrepôt de données.
  • Dans la première étape d'extraction, les données sont extraites du système source dans la zone de transit.
  • Dans l'étape de transformation, les données extraites de la source sont nettoyées et transformées.
  • Le chargement de données dans l'entrepôt de données cible est la dernière étape du processus ETL.