Vous n'êtes pas identifié(e).
Bonjour,
Je vous sollicite pour avoir votre avis sur la meilleure solution concernant le besoin suivant
Objectif :
Avoir un traitement qui va extraire les données issues de plusieurs tables d'une base de données source. Ces données récupérées doivent être ensuite injectées dans une table de travail dans un schéma se situant sur une autre base de données (sur un autre serveur). Cela peut concerner plusieurs millions de lignes, les performances sont donc recherchées.
Solutions envisagées :
- via un Shell, se connecter à la base source et récupérer les données dans un fichier via la command COPY. Injecter ensuite ce fichier dans la base cible via COPY
- via un dblink, exécuter une requête "insert into select" depuis la base cible
- une autre solution ?
Quelles sont selon vous les avantages/inconvénients de ces solutions ?
Merci d'avance de votre aide
Hors ligne
Bonjour,
est-ce pour un uniquement traitement, un traitement régulier ou pour maintenir une sorte de réplication ?
Julien.
https://rjuju.github.io/
Hors ligne
Le traitement concerné est un traitement qui doit être lancé ponctuellement afin de valider un traitement de migration de données.
Hors ligne
Niveau performances, certainement pas dblink. J'aurais plutôt tendance à privilégier COPY.
Guillaume.
Hors ligne
COPY avec plusieurs threads en // ou un bon ETL qui parallélise les lectures/écritures (malheureusement pas dans le libre, la version "free" de TALEND étant verrouille à ce niveau....)
En sus pensez à tester en faisant le scénario suivant :
1) supprimez les contraintes FK des tables de destination
2) supprimez les index non sémantiques des tables de destination
3) insérez en parallèle dans toutes les tables à la fois
4) recréez les index préalablement supprimés
5) rajoutez les contraintes FK préalablement supprimées
Si vous avez d'autres contraintes de validation (CHECK par exemple) ou des déclencheurs, et que vous êtes sûr de votre coup, pensez aussi à les désactiver...
A +
Frédéric Brouard, alias SQLpro, ARCHITECTE DE DONNÉES, Expert langage SQL
Le site sur les SGBD relationnel et langage SQL : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * * Enseignant CNAM PACA, ISEN Toulon, CESI Aix en Provence * * * * *
Hors ligne