Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Alimentation Discussion :

Concevoir une solution ETL


Sujet :

Alimentation

  1. #1
    Candidat au Club
    Concevoir une solution ETL
    J'ai commencé le BI depuis peut de temps et je me pose plusieurs questions.
    Merci d'avance pour votre aide

    -pourquoi et comment Créer un Zone de préparation (Staging Area) ?
    - comment charger les données dans les tables des dimensions et de fait tout en respectant la cohérence entre les données source et le données cible
    (comment faut-il remplir la table de faits ? Il faut mettre les identifiants des dimensions mais comment le lien entre les dimensions peut se faire?)
    - comment faire les jointure avec les dimension et la table de fait? affectations des clés de substitution (surrogate key) ?
    - comment lier table de fait au dimension temps?

    merci de m'expliquer avec d'exemple pratique car je rien compris avec les définitions et le théorique ...

  2. #2
    Membre averti
    Bonjour,

    Créer une zone de staging est utile dans ces cas-là :
    • Pré-charger dans une table de votre DWH les données sources provenant de l'extérieur (fichiers, BDD opérationnelle...)
    • Mener des pré-traitements lors de certaines jointures complexes
    • Séparer les traitements afin de ne pas insérer directement en production


    L'ETL que j'utilise construit dynamiquement ces tables de staging, qui ont la même structure que la table de production, et en préfixant d'un L_ (pour le load depuis l'extérieur) ou d'un I_ (pré-intégration). Pour ma part, j'utilise parfois des tables temporaires (cas 2) avant d'alimenter le reste.


    Pour votre deuxième question, eh bien... en vérifiant. Si vous avez 50 lignes à insérer en source, mais que vous n'en récupérez que 40, peut-être qu'il y a un mauvais filtre ? Une primary/foreign key non respectée ? Un champ qui s'alimente à null alors qu'il ne devrait pas l'être ? Tout ça, c'est le travail du designer du flux que de recetter son développement. Pensez également à gérer des tables de rejets, vous trouverez sans doute plus de documentation sur le net.

    Vos deux autres interrogations + le lien avec les dimensions de la 2e question sont des questions de reporting. Avez-vous un outil de reporting (comme Business Objects) qui permet de visualiser les données ?
    Un tel outil permet de joindre les tables entre elles dans des univers, et donc de créer dynamiquement les requêtes SQL qui vous permettront de piloter vos données.
    Un ETL ne permettra pas cela.

    Bon courage.