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

PostgreSQL Discussion :

Migration de données


Sujet :

PostgreSQL

  1. #1
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut Migration de données
    Bonjour à tous!!

    Je commence tout juste un stage et je dois réaliser de la migration de données. Les données sont pour l'instant dans un fichier excel et je dois les exporter dans PostgreSQL/PostGIS. L'export n'est pas un simple export puisque la stucture de la base PostGIS sera compètement différente de celle du fichier excel : pour un "enregistrement" excel j'aurai plusieurs enregistrements dans différentes tables et il faudra donc que je stocke temporairement les identifiants utilisés comme clé étrangère.
    Ma question est la suivante : quel langage me conseillez-vous pour réaliser cette migration? Je pensais m'orienter sur du Python, mais plus par intuition qu'autre chose.

    Merci d'avance!!

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Quels sont les langages que tu connais déjà?

  3. #3
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    Plein : Java, C, C++, PHP, Lisp, Prolog... Après je les connais plus ou moins bien, sans en maitriser aucun, mais je peux me débrouiller. J'aimerais surtout un langage si possible multi-plateformes et efficace (j'ai déjà testé une fois une librairie php pour manipuler des fichiers excel mais c'était super lent). Disons que ça me gène pas de me plonger dans un nouveau langage si ça améliore les performances.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    pourquoi manipuler des fichier xls ?

    Faites un import de vos fichier dans une base de migration et travaillez uniquement en SQL.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Pour une migration de données, en principe l'essentiel du temps est passé dans l'exécution des requêtes SQL et le transfert des données, et donc le choix du langage pour le code client n'influe pas vraiment sur la vitesse.

    En milieu professionnel on s'intéresse plutôt au temps que ça met à développer et mettre au point (parce que c'est ça qui coute cher) qu'au temps que ça met à s'exécuter.
    Surtout si c'est du code qui va servir une seule fois en production.

    C'est pourquoi en général la réponse à la question du langage est de choisir celui qu'on connait le mieux.

  6. #6
    Membre émérite Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Par défaut
    Bonjour,

    Si je devais faire ça, je mettrai les données dans des fichiers plats et je ferai un petit script perl pour lire le fichier et générer les requêtes SQL ou les fichiers plat à insérer avec COPY.

    perl est très efficace pour les traitements de fichier.

    Pour les insertions en masse, postgreSQL conseille d'utiliser COPY au lieu de INSERT. (http://www.postgresql.org/docs/9.1/static/sql-copy.html)

    Cordialement,

    Arkhena

  7. #7
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    Citation Envoyé par punkoff Voir le message
    Bonjour,

    pourquoi manipuler des fichier xls ?

    Faites un import de vos fichier dans une base de migration et travaillez uniquement en SQL.
    Au final l'application sera utilisée par d'autres utilisateurs que moi, et leurs connaissances en bdd sont plutôt limitées L'idée était donc de leur fournir un exécutable avec une interface de choix de fichier à ajouter à la base de données. En gros qu'ils aient le moins de choses possibles à faire, et rien de technique

  8. #8
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    Citation Envoyé par estofilo Voir le message
    Surtout si c'est du code qui va servir une seule fois en production.
    Le code sera utilisé plusieurs fois. Il y aura (au moins) une exécution par pays qui existe dans le monde. De mémoire j'ai déjà utilisé une librairie php pour lire un fichier excel et c'était assez lent... Je voudrais éviter que l'exécution soit trop longue. Après pour le temps passer à coder, même si c'est un nouveau langage, dans la mesure où ça reste relativement basique, je ne devrais pas mettre trop de temps en plus.

  9. #9
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    oki,

    Pour ce genre de chose, personnellement je met en place un process du genre :
    => Interface pour loader un ficheir xls / csv
    => Test côté applicatif du format du fichier
    => Si ok, load dans des tables sas
    => test fonctionnel en sql (si possible, traitement ensembliste plutot que ligne à ligne ...)
    => insertion / update / delete dans base cible

Discussions similaires

  1. [debutan] migration de données Oracle vers SQL SERVER 2000
    Par Mil00se dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2005, 17h44
  2. Migration de données Oracle vers SQL server
    Par joul's dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 16/02/2005, 15h05
  3. migration de données
    Par souad26 dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/11/2004, 12h10
  4. [Oxygene] Migration de données
    Par cach dans le forum Autres langages
    Réponses: 4
    Dernier message: 26/10/2004, 11h45
  5. Migration de données SQL Server to Access2000
    Par guams dans le forum Migration
    Réponses: 8
    Dernier message: 02/07/2004, 14h23

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