Extraction, transformation, chargement (ETL)

La chaîne qui alimente un entrepôt : les trois étapes et la zone de préparation, chargement complet ou incrémental, dimensions avant faits, clés de substitution, dimensions à évolution lente, chargements rejouables et variante ELT.

  • 32 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Entrepôt de données : de quoi s'agit-il ?

    Voir la réponse

    Base séparée des applications de gestion, alimentée à intervalles réguliers depuis plusieurs sources, qui garde pour l'analyse des données intégrées et historisées, auxquelles on ajoute sans les modifier.

    C'est la définition d'Inmon : orienté sujet, intégré, historisé, non volatil. Séparer l'analyse de la production évite que les requêtes lourdes ralentissent les applications, et garde l'historique que les sources écrasent.

  • La cliente 1042 déménage de Lyon à Nantes. Le chargement exécute ces deux ordres. Quelle politique de dimension applique-t-il ?

    ```sql
    UPDATE dim_client SET date_fin = '2024-03-10', courant = 0
    WHERE client_id = 1042 AND courant = 1;
    INSERT INTO dim_client (cle_sub, client_id, ville, date_debut, date_fin, courant)
    VALUES (9001, 1042, 'Nantes', '2024-03-10', NULL, 1);
    `

    • Type 2 : l'ancienne version est fermée, une nouvelle est ajoutée
    • Type 1 : la ville Lyon est écrasée par Nantes et aucune trace de l'ancienne n'est gardée
    • Type 3 : Lyon passe dans une colonne ville_precedente
    • Aucune : le client est supprimé puis recréé comme un nouveau client
    Voir la réponse

    Type 2 : l'ancienne version est fermée, une nouvelle est ajoutée

    Fermer la ligne courante (date de fin, indicateur à 0) puis insérer une ligne avec une nouvelle clé de substitution est la signature du type 2 : les deux villes restent consultables.

  • Pendant un chargement, on écrit d'abord les …, puis les …, parce que chaque ligne de fait doit porter la clé de substitution d'une dimension qui existe déjà.

    Voir la réponse

    Pendant un chargement, on écrit d'abord les dimensions, puis les faits, parce que chaque ligne de fait doit porter la clé de substitution d'une dimension qui existe déjà.

    Une clé de substitution n'existe qu'après l'insertion de sa ligne de dimension. Charger les faits en premier laisserait des références vers rien.

  • ETL : de quoi s'agit-il ?

    Voir la réponse

    Chaîne d'alimentation d'un entrepôt en trois étapes, dans cet ordre : prélever les données dans les sources, les nettoyer et les mettre au format de l'entrepôt, puis les y écrire.

    Les initiales donnent l'ordre : Extract, Transform, Load. La transformation a lieu avant l'écriture, sur un serveur intermédiaire, donc l'entrepôt ne reçoit que des données déjà propres.

  • Un chargement nocturne tombe en panne à 3 h, puis est relancé à la main. Le lendemain, le chiffre d'affaires du jour a doublé dans l'entrepôt. Que faut-il changer ?

    • Rendre le chargement idempotent : remplacer la tranche du jour ou fusionner sur la clé métier
    • Ajouter un index sur la colonne de date de la table de faits pour accélérer la relance
    • Supprimer les doublons à la main chaque matin avec un DELETE avant que les analystes arrivent
    • Convertir la colonne montant en DECIMAL
    Voir la réponse

    Rendre le chargement idempotent : remplacer la tranche du jour ou fusionner sur la clé métier

    La première exécution avait déjà écrit une partie des lignes ; la relance a rejoué les INSERT sans clé d'unicité. Un index accélère mais ne dédoublonne pas, un DELETE manuel soigne le symptôme, et le type du montant n'a rien à voir.