WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

étude d'une migration de Sybase vers PostgreSQL


par Virginie Quesnay
IUP Génie des systèmes industriels - ANNECY - Master 2004
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre 11

Bilan du stage

11.1 Evaluation du travail réalisé

L'objectif principal : évaluer si une migration de Sybase vers PostgreSQL était possible, a été atteint.

En revanche, la réponse qui y a été apportée n'est pas exactement celle à laquelle on pouvait s'attendre : la migration paraissait simple mais elle s'est avérée beaucoup plus complexe que prévue.

11.2 Problèmes rencontrés

L'ensemble du stage s'est bien déroulé. Mais, comme dans tout projet, nous avons dû faire face à des problèmes : ceux-ci ont été principalement de nature technique, mais également organisationnels et au niveau des connaissances acquises.

11.2.1 Les problèmes techniques

Les fonctions Sybase inexistantes sous PostgreSQL

Comme toutes les bases de données, Sybase et PostgreSQL possédent des fonctions internes conçues afin de faciliter le travail des développeurs. Néanmoins, leur nom et parfois même leur utilisation différe d'un sytème à l'autre.

Lors de la migration des vues et des procédures, il arrive que ce type de fonctions necessite une intervention pour déterminer la solution à adopter.

Lorsque des fonctions de Sybase n'existent pas sous PostgreSQL, la solution la plus simple serait de créer des fonctions en pl/sql portant le même nom que la fonction Sybase et donnant le même résultat.

Mais cela crée une surcouche et a un impact néfaste sur les performances (une fonction externe utiisant une ou plusieurs fonctions internes sera touj ours moins rapide qu'une seule fonction interne).

Lors de l'écriture du programme de migration, nous avons donc utilisé autant que possible, des fonctions internes de PostgreSQL, même si cela nécessitait parfois de remanier les scripts SQL.

Cependant, dans quelques rares cas, aucune fonction existante ne pouvant être utiisée, il a fallu en créer des nouvelles (par exemple voir Source J.1, page 62).

Bilan du stage

 
 
 
 

Les differences d'encodage

Le passage successif par différents systèmes met en lumière les différences de normes d'encodage et d'affichage (UTF8, ASCII, Latin1,...):

- passage de Sybase à un fichier texte en utilisant un logiciel tiers (soit bcp soit DbDk) sous Windows,

- transformation par un script Perl sous Linux,

- intégration à PostgreSQL,

- affichage sous les outils RedHat (qui préfère utiliser l'UTF8).

Ceci nécessite de modifier l'encodage par défaut ou de forcer celui qui sert à l'affichage, voire même de modifier l'encodage d'un fichier dans un éditeur de texte (voir Annexe M, page 71) sous peine d'obtenir des retours à la ligne fantaisistes et de perdre tous les caractères accentués qui se trouvent dans les documents.

Les problèmes de casse

Windows et Sybase ne gèrent pas les différences de casse ("E" sera considéré de la même façon que "e") tandis que Linux et PostgreSQL font cette différenciation. Pour éviter des problèmes d'appel (par exemple lors de l'utiisation d'une table ou d'une procédure) il faut uniformiser les noms.

L'ancienneté de la base de données Sybase

La création de base de donnée sous Sybase a commencé en 1994. De nombreuses personnes avec des connaissances et des techniques de programmation différentes ont donc participé à sa gestion et à l'écriture de nouvelles fonctions. De plus, les technologies ont évolué : augmentation des capacités du moteur debase de données, évolution de la syntaxe utilisée pour la création de vues et des procédures. Lors de l'écriture des scripts Perl, il a donc fallu tenir compte des différents types d'écriture afin que toutes les possibilités soient traitées.

11.2.2 Les problèmes lies a l'organisation

Peu de problèmes se sont posés en ce qui concerne l'organisation propre mais les objectifs proposés au départ ont dû être modifiés. La plannification a été constament réévaluée afin de tenir compte des problèmes rencontrés et de l'approche empirique.

11.2.3 Les problèmes lies au manque de connaissance

Le manque d'informations disponibles, s'est révélé être un problème important: très peu de documentation est disponible au sujet de Sybase (et la plupart de sont prévues pour des versions plus récentes de Sybase).

Les informations concernant les migrations de base de données (et tout particulièrement les migrations à partir de Sybase ou de MS-SQL) sont rares et peu complètes: les seules indications fournies n'apportent quasiment aucune aide.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille