IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

MS SQL Server Discussion :

Question sur le T de ETL


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut Question sur le T de ETL
    Bonjour,

    Je suis actuellement en train de mettre en place une base de données.
    Je récupère mes données à partir d'un fichier plat que j’envoie dans la table "TEMP" (ma table temporaire) et jusqu’à présent je faisais des Transformations directement sur ma table TEMP avant de charger les données dans mon modèle de base de données définitive...

    Depuis peu, je me demande si c'est bien la démarche à suivre, à savoir est ce qu'il faut bien modifier mes données directement sur la table TEMP ou faut-il modifier les données pendant le chargement dans mes tables définitives (tables des faits et dimensions) ?

    Exemple :

    • Si je veux supprimer les erreurs contenues dans mon fichier source est ce que je dois faire une requête sur la table TEMP puis une fois ma table TEMP propre je charge les données ?
      Ou une fois que j'ai extrait mes données dans la table TEMP, je dois faire une sorte de filtre afin que les erreurs soient supprimées et en mm temps injecter... ?

    Autre exemple :
    • Je voudrais ajouter une chaine de caractère ("voiture" ou "moto") dans une nouvelle colonne TYPE_DESC à partir d'une colonne TYPE contenant la lettre V pour les voitures et M pour les Motos... Mais je ne sais si je dois créer cette colonne en premier dans ma table TEMP pour pouvoir ensuite faire une jointure afin d’insérer les données dans ma dimension TYPE_DE_VEHICULE ?
      ou autrement ?


    En résumé je me demande si j'ai "le droit" (je me doute bien que je peu faire ce que je veux ) d'ajouter des champs dans ma table temporaire ou si il ne faut pas y toucher ?

    J'avais cru comprendre que l'on devait préparer les données dans la Staging Area puis charger les données dans le Data warehouse donc je suppose que les seuls modifications a faire sont à faire dans la Staging Area ?

    A partir de mon DW, je ne feraique créer mon hypercube puis créer mes vues et mes agrégats ?

    Est-il possible que quelqu'un puisse éclairer ma lanterne sur toutes ces questions ?

    Merci beaucoup d'avance !

  2. #2
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Le principe de l'ETL, notamment avec SSIS, est de traiter les Transformations de données avec les outils proposés dans l'ETL.
    Travailler sur une table pour modifier les données dedans, sur un grand volume risque d'être plus que pénalisant en terme de perfs.
    SSIS permet plutôt de faire tout cela en mémoire avec des composants à lui.

    P.S. : Il y a un forum spécial MS BI avec un sous-forum SSIS

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Par défaut
    Merci pour la réponse

    J'utilise justement SSIS pour faire la transformation des données, en exécutant de le module de "Tache d"execution de requete SQL" qui me permet d’écrire ce que je veux...
    J'utilise également le flux de données afin de récupérer mon fichier source et de mapper les colonnes sur une table TEMP puis ensuite je renvoyais les données de ma tables TEMPS dans mes tables définitives... ?

    J'ai l'impression que c'est pas du tout ca qu'il fallait faire, aye aye !

    Jusqu’à présent, j'ai fait des packages avec SSIS pour récupéré les données sur le fichier txt avec la tache de flux de données, mais j'ai stocké les données sur une table qui s'appelle TEMP qui a de temporaire que le fait qu'elle ne me servira pas lorsque je vais vouloir faire des analyses... Elle me permet de charger mes données dans mon vrai modèle mais en fait, ça devrait ce passer en mémoire tout ce travail, c'est bien ca ?

    Merci de bien me rassurer parce que j'ai l'impression d'avoir fait n'importe quoi et que je vais devoir tout recommencer... gros stress lol

    En plus je galère a expliquer...

  4. #4
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    En fait, ce que vous faites est d'utiliser SSIS plus comme un ordonnanceur qu'un véritable ETL.
    En fait, tout dépend des préférence...
    Certains préfèrent charger les données dans une première base puis utilisent des procédures stockées (déclenchées par SSIS) pour les transférer, en les transformant vers une autre base.
    D'autres préfère réaliser cette opération à travers des dataflows et appliquer ainsi les transformations de données.

    Les tâches de scripts permettent d’exécuter des instructions SQL : SSIS comme un simple ordonnanceur de tâches.
    Les dataflows permettent de lire les données, les transformer, les déposer quelques parts, le tout en mémoire, sans faire trop travailler les disques : SSIS comme un ETL

Discussions similaires

  1. Question sur des outils ETL et de reporting Open source
    Par raoudi57 dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 18/03/2015, 17h30
  2. Question sur l'ETL TALEND
    Par aya19742007 dans le forum Installation, migration et administration
    Réponses: 7
    Dernier message: 27/02/2011, 16h26
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo