Re: fusionner des bases

From: "David Tokmatchi" <david(dot)tokmatchi(at)gmail(dot)com>
To: "SOULABAILLE Samantha" <soulabaille(dot)s(at)mipih(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: fusionner des bases
Date: 2008-09-18 07:55:46
Message-ID: c50dbb0b0809180055o4b817fe8ufaa0da621125c214@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Une des solution serait de:

1-créer une nouvelle base

2-d'importer sans modification la base la plus volumineuse

3-faire l'analyse de la fusion technique

4-annoncer les règles du jeu aux utilisateurs

5-importer les données transactionnelles de la deuxième base en traitant la
collision

6-faire une recette et recommencer à l'étape 5

Les tables sont à analyser selon leur nature pour trouver celles de :

- système (donnée de fondation)

- paramètres fonctionnels

- données transactionnelles

Ensuite il faudra annoncer les règles du jeu aux utilisateurs que cette
fusion est de nature technique et par la suite il faudra une fusion
fonctionnelle. Exemple : Un même fournisseur dans les deux bases, existera 2
fois et ce n'est pas la fusion technique qui va éliminer ce genre de
doublons.

Pour les données système il faudra vérifier la cohérence et choisir le
paramétrage de l'une ou de l'autre base. Cette règle s'appliquer également
aux paramètres fonctionnels. Si le code 100 indique la devise Euro dans une
base alors que dans l'autre le même code désigne le Dollar, il faudra faire
le choix de maintenir l'un des deux. Ensuite il faudra voir l'impact et
modifier toute la dépendance.

La fusion des données transactionnelles pose le problème de collision. Il
faudra trouver toutes les clés (contraintes référentielles),

et de les changer. Pour chacune des clés, on peut ajouter un incrément qui
correspond au Max de la clé de la première base. Exemple si l'identifiant
des fournisseurs dans la première base arrive à 657, pour la base à importer
il faudra prendre un incrément de 6000, ainsi plus tard, même selon la clé
on peut déterminer la provenance.

Personnellement sans cette démarche je ne ferais pas confiance aux boites
noir.

David

le 17 septembre 2008 16:56, SOULABAILLE Samantha <soulabaille(dot)s(at)mipih(dot)fr> a
écrit :

> Bonjour,
>
>
>
> J'ai un (énorme) souci avec deux bases hébergées sur deux serveurs pour
> deux sites web.
>
>
>
> Elles ont exactement la même structure (schéma, tables), seules les données
> sont différentes, même version de postgresql pour le serveur.
>
> Cela fait quelques années qu'elles sont en prod et qu'elle se sont remplies
> allègrement.
>
> On me demande maintenant si on peut les fusionner pour ne garder qu'un
> site.
>
>
>
> Les bases sont énormes, une bonne soixantaine de tables, des
> serials/foreign key/blob/oids un peu partout, bref un joyeux petit monde.
>
>
>
> Tout d'abord une telle opération est-elle possible ? Sachant qu'on a aussi
> certaines obligations par rapport à l'indisponibilité de ces sites web (je
> ne suis pas sure qu'on puisse se permettre plus d'une journée d'arrêt ou ½
> journée).
>
> Est-ce qu'il existe des outils, ou des procédures, au moins quelque chose
> qui permette de faire cela ?
>
>
>
>
>
>
>
> Samantha
>
> *N'imprimez ce message que si vous en avez l'utilité*
>
>
>

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Pascal Brognez 2008-09-18 08:44:54 Re: fusionner des bases
Previous Message William Dode 2008-09-18 06:55:26 Re: fusionner des bases