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

SSIS Discussion :

[SSIS] [2K5] Problème de gestion des données dans le package


Sujet :

SSIS

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut [SSIS] [2K5] Problème de gestion des données dans le package
    Bonjour,
    Nous avons un cube de données qui fonctionne très bien depuis quelques temps. Les données sont transférer à l'aide d'un package SSIS qui va chercher les données dans une base de données Progress. Le seul petit problème est que les transfert des données est relativement long (Il prend environ 45 minutes) et que nous ne disposons que de 1h30 pour transférer les données.

    Dans les prochaines semaines, nous allons ajouter beaucoup d'informations dans le cube (ce qui implique d'aller chercher d'autres dimensions) et ceci risque d'augmenter le temps d'éexécution du package. Je me demandais si vous aviez des suggestions pour améliorer le temps de transfert des données.

    Présentement, nous vidons le contenu des tables à chaque exécution du package et nous allons ensuite chercher les enregistrements que nous avons besoin pour remplir le cube.

    Merci beaucoup et bonne journée
    --Samus535

  2. #2
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Il y a effectivement quelques possibilités afin d'améliorer le temps d'exécution des packages. Juste 2 idées par rapport à ton contexte :

    - pour la suppression du contenu des tables, un truncate et non pas un delete
    - pour l'insertion des données dans les tables : un bulk insert
    - éviter la synchronisation des objets de ton dataflow (voir ici)

    Bien entendu, ces options sont utilisables selon certaines conditions

  3. #3
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Sinon plus macroscopiquement passer pas une copie directe des tables d'origine dans des tables temporaires sans retraitement (staging) sur du SQL via du bulk.
    Puis faire les transfos complexes sur ces tables de staging plutôt que sur les sources pour libérer les sources plus vite.
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par FrancoisJehl Voir le message
    Sinon plus macroscopiquement passer pas une copie directe des tables d'origine dans des tables temporaires sans retraitement (staging) sur du SQL via du bulk.
    Puis faire les transfos complexes sur ces tables de staging plutôt que sur les sources pour libérer les sources plus vite.
    Bonjour,
    Merci pour vos réponses.

    FrancoisJehl: Je ne comprends pas ce que vous dites.

    Merci et bonne journée
    --Samus535

  5. #5
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Ce que veux dire François c'est que si tu ne disposes que d'un créneau d'1h30 pour attaquer la base source, tu peux très bien faire une copie de toutes les tables dont tu as besoin dans une base temporaire et faire appliquer tes lots sur cette base temporaire. Ainsi tu t'émancipes de ta contrainte de temps.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par patriceharel Voir le message
    Ce que veux dire François c'est que si tu ne disposes que d'un créneau d'1h30 pour attaquer la base source, tu peux très bien faire une copie de toutes les tables dont tu as besoin dans une base temporaire et faire appliquer tes lots sur cette base temporaire. Ainsi tu t'émancipes de ta contrainte de temps.
    Ça ne règlera pas ma contrainte de temps. Nous sommes limité dans le temps parce qu'avant de pouvoir commencer à traîter les données de la base sources (qui est en Progress) je doit attendre que des procédures de nuit se termine. (Ces procédures débutent à minuit et durent entre 3h30 et 4h00). Donc nous commençons l'exécution des packages SSIS à 4h30 pour être certains qu'il n'y ait pas "d'overlap", car la base source est innaccessible pendant le traîtement des procédures de nuit. Le package SSIS doit avoir terminé avant 6h00 car le directeur général reçoit des rapports reportaing services sur son Blackberry à 6h00 et ça l'aide à orienter sa journée.

    Merci beaucoup et bonne journée
    --Samus535

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 33
    Points : 32
    Points
    32
    Par défaut
    Y a-t-il une tache de tri dans ton lot SSIS ? Ces taches sont très lentes, beaucoup plus qu'un order by en base de données.
    D'ailleurs http://patriceharel.developpez.com/tutoriel/ssis-sort/

    Sinon, les procédures de nuit ne peuvent elles pas démarrer une heure ou deux plus tôt ? Il y a encore beaucoup de monde qui travaille sur les bases sources à 22h30 ?
    Tu vois Tuco, le monde est divisé en deux catégories : ceux qui ont les pistolets chargés et ceux qui creusent ! Toi tu creuses !

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par MoitieDeCigare Voir le message
    Y a-t-il une tache de tri dans ton lot SSIS ? Ces taches sont très lentes, beaucoup plus qu'un order by en base de données.
    D'ailleurs http://patriceharel.developpez.com/tutoriel/ssis-sort/

    Sinon, les procédures de nuit ne peuvent elles pas démarrer une heure ou deux plus tôt ? Il y a encore beaucoup de monde qui travaille sur les bases sources à 22h30 ?
    Il n'y a aucune tâche de tri dans mon package SSIS. Pour ce qui est des procédures de nuit, nous ne pouvons pas les faires rouler plustôt car elles roulent présentement à minuit (heure du Québec) et nous avons des utilisateurs en Colombie-Britannique (heure du Québec - 3).

    Merci et bonne journée
    --Samus535

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/02/2010, 21h57
  2. Réponses: 11
    Dernier message: 22/05/2008, 15h50
  3. [MySQL] Problème de récupération des données dans une fonction
    Par highman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/10/2006, 20h04
  4. Problème pour rentrer des données dans MySQL
    Par Sandara dans le forum Requêtes
    Réponses: 8
    Dernier message: 06/06/2006, 10h59
  5. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17

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