Re: Etat des solutions de réplication

From: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Etat des solutions de réplication
Date: 2007-07-05 08:52:37
Message-ID: 200707051052.39362.dfontaine@hi-media.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Le mercredi 04 juillet 2007, Sébastien Dinot a écrit :
> Fin 2004, début 2005, je m'étais intéressé aux solutions de
> réplication en temps réel d'une base de données PostgreSQL et je
> n'avais rien trouvé de sérieux.

Le thread récent suivant devrait t'intéresser :
http://archives.postgresql.org/pgsql-performance/2007-06/msg00264.php

Il fait en particulier référence aux solutions Skype (londiste), nouvelle
implémentation des idées de Slony-I, en plus simple à administrer (malgré le
manque de documentation).

Deux nouvelles solutions sont également en cours de développement :
- Implementing support for read-only queries on PITR slaves
http://code.google.com/soc/2007/postgres/appinfo.html?csaid=6545828A8197EBC6

- Slony-M
La suite de Slony-I, par le même auteur, sera une solution de réplication
multi-maître asynchrone (avec donc de la résolution de conflits à
prévoir).

On ne sait bien sûr pas quand pourront être dispos ces projets, c'est tout le
jeu du libre, mais mon petit doigt me souffle que ne pas les voir aboutir en
2007 est une pensée raisonnable :)

> A l'époque, la version 1 de Slony permettait juste une réplication en
> temps différé mais son développeur principal annonçait la réplication
> en temps réel pour la version 2, en cours de développement.

Attention, j'ai l'impression que les termes synchrones et asynchrones sont ici
mal traduits, puisque dans les deux cas les solutions existantes répliquent
les données « au fil de l'eau » (ce qui ressemble à s'y méprendre à « en
temps réel »).

On dit que la réplication est synchrone lorsqu'elle garanti qu'une transaction
commitée sur un maître est disponible dès le commit sur l'ensemble des nœuds
participants à la réplication.
En l'absence de cette garantie, la réplication est asynchrone : le commit est
local au nœud maître sur lequel on se connecte, et ses effets ne seront
propagées qu'à la prochaine occasion (dans un temps de l'ordre de la seconde
bien souvent).

Lire également à ce propos le billet suivant de Josh Berkus, membre de la
core-team de PostgreSQL :
http://blogs.ittoolbox.com/database/soup/archives/the-four-horsemen-of-replication-8230
http://blogs.ittoolbox.com/database/soup/archives/the-four-horsemen-of-replication-part-ii-8312

> On trouve aussi trace de personnes bien intentionnées qui disent aux
> curieux que Slony2 est toujours en cours de développement (mai 2006)

En fait l'objectif de Slony2 était de montrer via un prototype que les idées
du projet de recherche Postgres-R (Global Communication System au lieu de
Two-Phase Commit, en gros) sont assez prometteuses pour les implémenter (pour
de vrai).
Un prototype a été réalisé en Ruby, la conclusion des auteurs est favorable et
fourni des spécifications détaillées à qui voudra se lancer dans le projet.

> mais qu'ils devraient jeter un oeil du côté de Postgres-R.

Postgres-R (du même nom que le projet de recherche dont il a pris la suite)
est une implémentation indépendante des mêmes idées, réalisée en C dès le
départ : ce n'est pas un prototype mais un projet en cours de mise au point.

> autrement dit, j'ai un doute : la situation a-t'elle évolué depuis fin
> 2004 ?

Le thread indiqué plus haut devrait répondre assez précisément à ta
question :)
--
dim

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Dimitri Fontaine 2007-07-05 08:59:45 Re: Re: [pgsql-fr-generale] Etat des solutions de réplication
Previous Message Sébastien DINOT 2007-07-05 08:48:01 Re: Re: [pgsql-fr-generale] Etat des solutions de réplication