Copyright (c) Virginie QUESNAY
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no
Back-Cover Texts. A copy of the license is included in the section entitled
"GNU
Free Documentation License".
|
VIRGINIE QUESNAY Master OTSI Année
03/04
|
C.C.I. DE LA HAUTE-SAVOIE
5 rue du 27ème BCA - BP 2072 74011 Annecy
CEDEX
|
MEMOIRE PROFESSIONNEL
Étude d'une migration de Sybase vers PostgreSQL
Enseignant tuteur : Christian BRAESCH
Maître de stage : Christophe POLLIER INSTITUT UNIVERSITAIRE
PROFESSIONNALISE
DE GENIE DES SYSTEMES INDUSTRIELS
Genie des systèmes d'information
|
VIRGINIE QUESNAY Master OTSI Année
03/04
|
C.C.I. DE LA HAUTE-SAVOIE
5 rue du 27ème BCA - BP 2072 74011 Annecy
CEDEX
|
MÉMOIRE PROFESSIONNEL
Étude d'une migration de Sybase vers PostgreSQL
|
VIRGINIE QUESNAY Master OTSI Année
03/04
|
C.C.I. DE LA HAUTE-SAVOIE
5 rue du 27ème BCA - BP 2072 74011 Annecy
CEDEX
|
?
RÉSUMÉ:
Ce mémoire a été réalisé
lors de mon stage de fin d'études de Master a l'IUP-GSI d'Annecy le
Vieux. Celui-ci s'est déroulé au sein de la Chambre de Commerce
et d'Industrie de la Haute-Savoie du 8 mars au 25 juin 2004.
Le but de ce stage était d'étudier les
possibilités de migration d'une base de données de Sybase vers
PostgreSQL.
Ce mémoire est donc composé de trois parties:
- Le contexte du stage (l'existant);
- La problématique de migration de base de
données;
- L'illustration de cette problématique par le cas
concret qu'était mon étude.
MOTS-CLEFS:
PostgreSQL, Sybase, Perl, SQL, Migration, Traduction
Remerciements
Je tiens tout d'abord à remercier mon maître de
stage et chef de projet Mr Christophe POLLIER, pour m'avoir proposé un
sujet aussi interressant et formateur et de m'avoir guidée dans mon
travail tout en me laissant un maximum de libertés et d'initiatives.
Je tiens également à remercier tous les
collaborateurs de la CCI et tout particulièrement ceux du services TIC
dans lequel j'ai travailé : Grégory BENOIST, Vincent AUGIERMICOU,
Laurence BOQUET et Laurent POSSETY pour leur accueil sympathique et
chaleureux.
Enfin, je remercie Christian BRAESCH, mon tuteur de l'IUP GSI.
Table des matières
Remerciements i
Liste des illustrations v
Liste des tableaux vi
Liste des codes sources vii
Introduction 1
I L'existant 2
1 Presentation de la C.C.I 3
1.1 Son Histoire 3
1.2 Son implantation 3
1.3 Sa mission et ses objectifs 4
1.4 Son organisation 5
1.4.1 Les élus 5
1.4.2 Les collaborateurs 6
1.5 Le service TIC 6
1.5.1 Ses missions 6
1.5.2 Ses acteurs 6
2 Sujet et Objectifs 7
2.1 Presentation du contexte 7
2.1.1 Le Système d'Information de la CCI 7
2.1.2 Caracteristiques techniques du Système
d'Information 7
2.2 Presentation du projet 8
3 La problematique Système d'Information
9
II Étude de la problematique de migration de base
de données 11
4 Les approches possibles 12
4.1 L'approche "systematique" 12
4.2 L'approche "empirique" 13
4.3 Combinaison de l'approche "systematique" et de l'approche
"empirique" 15
5 Les outils et technologies applicables 16
5.1 Utiisation d'une interlangue 16
5.2 Traduction "manuelle" 18
5.3 Traduction automatique "monotraducteur" 18
5.4 Utiisation d'outils de "reverse-engenering" 19
6 Les méthodes de gestion de projet informatique
20
6.1 Méthode non formelle 20
6.2 XP : eXtreme Programing 20
6.3 RUP : Rational Unified Process 21
6.4 DSDN (RAD) 22
7 Combinaison des approches, des technologies et des
méthodes 23
8 Proposition d'une démarche et de "bonnes
pratiques" 25
8.1 Déterminer la nature du problème 25
8.2 Vérifier s'il existe des solutions 25
8.3 Effectuer la Migration 26
8.3.1 Si une solution existante a été
trouvée 26
8.3.2 Si aucune solution existante ne convient 26
III Application au contexte du stage 27
9 Les choix managériaux et technologiques
28
9.1 La gestion de projet 28
9.2 La démarche suivie 28
9.3 Les technologies utilisées 29
9.3.1 PostgreSQL 29
9.3.2 RedHat Database 30
9.3.3 Perl 30
10 Le travail réalisé 32
10.1 Évaluation de l'état de la base de
données existante 32
10.1.1 Découverte du fonctionnement et des
spécificités 32
10.1.2 Quelques chiffres 32
10.2 Étude des différentes techniques de migration
33
10.3 Écriture d'un traducteur en Perl 33
10.3.1 L'approche utiisée 33
10.3.2 Fonctionnement de l'application 34
10.4 Estimation du travail restant à effectuer 34
10.4.1 Méthode d'estimation 35
10.4.2 Réalisation des mesures 35
10.4.3 Résultats de l'estimation 36
11 Bilan du stage 38
11.1 Évaluation du travail réalisé 38
11.2 Problèmes rencontrés 38
11.2.1 Les problèmes techniques 38
11.2.2 Les problèmes liés à l'organisation
39
11.2.3 Les problèmes liés au manque de
connaissance 39
Conclusion 40
Annexes 41
A Les CCI en France 42
B La CCI de la Haute-Savoie 47
C Les Chiffres de la CCI de la Haute-Savoie
49
D Organigramme 51
E La licence BSD (Berkeley Software Distribution)
52
F Limitations de PostgreSQL 53
G Phases pour réaliser l'ensemble de la migration
54
H Options pour l'utilisation de sybase2postgresql
56
I Documentation de sybase2postgresql 58
J Problèmes spécifiques a chaque type
d'information a migrer 60
K Mesures pour les indicateurs de complexité des
procédures 66
L Installation de modules supplémentaires pour
Perl 69
M Enregistrement d'un fichier en UTF-8 sous Emacs
71
N Webographie 72
Bibliographie 74
Glossaire 76
Liste des illustrations
1.1 Nouveau bâtiment de la CCI dans le quartier Galbert
3
1.2 Implantations de la C.C.I. en Haute-Savoie 4
1.3 Organisation globale de la CCI 5
4.1 Utiisation d'une méthode systématique pour la
traduction de textes . . 12 4.2 Utiisation d'une méthode empirique pour
la traduction de textes . . . . 14
5.1 Méthode de traduction avec une interlangue 16
5.2 Méthode de traduction sans interlangue 17
5.3 Méthode de traduction automatique 18
7.1 Corrélation entre les approches, les technologies, les
méthodes et la
taille de l'équipe 23 7.2 Exemple de mauvaise
corrélation entre les approches, les technologies,
les méthodes et la taille de l'équipe 24 7.3
Exemple de bonne corrélation entre les approches, les technologies,
les
méthodes et la taile de l'équipe 24
A.1 Positionnement des CCI entre privé et public 43
A.2 Une organisation pyramidale mais non
hiérarchisée 45
C.1 Répartition des ressources de la CCI (13 328 M€)
49
C.2 Part de l'IATP dans le budget de la CCI 50
C.3 Répartition des ressortissants par secteur
d'activité en 2003 50
D.1 Organigramme simplifié de la CCI de la Haute-Savoie
51
K.1 Nombre de lignes par procédure 66
K.2 Nombre d'instructions SQL par procédure 67
K.3 Nombre de structures if ou while par procédure 67
K.4 Nombre de curseurs par procédure 68
K.5 Répartition des procédures par type 68
Liste des tableaux
10.1 Dénombrement du contenu des bases de données
32
10.2 Catégories de procédures 36
10.3 Estimation du temps de développement par
catégorie de procédures . 37
C.1 Répartition de la taxe professionelle
départementale 49
F.1 Limitations of PostgreSQL 53
Liste des codes sources
H.1 Options de sybase2postgresql affichées grâce
à l'option -h 56
H.2 Exemple de fichier de configuration de sybase2postgresql
57
J.1 Création des fonctions suser_id() et
suser_id(username) 62
J.2 Création d'une fonction de conversion de type (varchar
vers int) 63
J.3 Création d'une fonction de conversion de type
(smallint vers bit) 63
L.1 Fichier de configuration du module MCPAN 69
|