Vous n'êtes pas identifié(e).

#1 15/07/2010 17:21:54

aze2
Membre

Système de synchronisation

Bonjour,

Dans l'idée, une machine est déclarée comme serveur, les autres sont clients, lorsque les clients partent et ne sont plus connectés avec le serveur, automatiquement, le client travaille sur une copie de la base de données au moment où il l'a quittée (coupure de connexion) et lorsqu'il revient (reconnexion), la synchronisation se fait et met à jour la base de données sur le serveur.

J'aimerai savoir si sous certains SGBD il n'y avait pas un moyen simple de faire ces opérations, à savoir de travailler sur une base de données propre à la machine et qui met à jour la base de données sur le serveur.
J'ai entendu parler de réplication...

J'ai pensé aussi au XML, ce qui permettrai de faire un système d'export à mon application par la suite...
Chaque client travaille sur sa base de données + sur le serveur lorsqu'il est connecté. Lorsque ce n'est plus le cas, sur sa base de données + XML.
Lorsqu'il ce reconnecte, ça lance une procédure sur le serveur de chargement des XML (ça me semble assez lourd à mettre en œuvre).

Auriez vous une idée de la manière de procéder ?

Dernière modification par aze2 (15/07/2010 17:22:39)

Hors ligne

#2 15/07/2010 17:47:38

gleu
Administrateur

Re : Système de synchronisation

Très clairement, ce contexte n'est pas visé par PostgreSQL. PostgreSQL, c'est du clients/serveur. Plusieurs clients se connectent au même gros serveur. Ce n'est pas que c'est impossible, mais ça va vous demander un gros travail.


Guillaume.

Hors ligne

#3 15/07/2010 20:04:27

aze2
Membre

Re : Système de synchronisation

Donc à développer sois même, faire un système en batch qui permettrai de vérifier les dernières mises à jours des bases et de synchroniser par rapport à ça.

Il faut que je réfléchie un moyen de le faire bien

merci encore gleu wink

Hors ligne

#4 15/07/2010 21:49:27

gngassam
Membre

Re : Système de synchronisation

Comme dit gle,u ca va être un gros travail: vu que tout les clients avec des données différentes devront mettre à jour un seul serveur, il va de soit que chaque client devra etre mis à jour avec les données des autre clients, donc la synchro devra se faire dans les deux sens (vu que la synchro c'est une mise à jour différentielle).

Par contre avec un seul client, ca ne pose pas de soucis, tu pourrai exécuter un batch à chaque fois que tu te connecte.

Sinon tu as des outils comme Talend ou ODI (Oracle Data Integrator) qui sont les ETL qui te permette de générer des job de chargement avec CDC (Change Data Capture i.e: Détection automatique des données qui ont changé). Tu pourra en outre créer une base de données intermédiaire qui qualifiera toute les autre.

Hors ligne

Pied de page des forums