PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 04/11/2010 07:48:25

TTinvent
Membre

Replication-BD distribues!

Bonjour,
J'aimerais savoir un tout petit peu sur ce qu'on appelle BD distribue ou BD repartie parcequ'a chaque fois je lis un doc sur la replication ou la repartition des charges de SGBD PostgreSQL on parle toujours de cette BD, et j'aimerais connaitre est-ce que le fait qu'on replique les donnees qui rend la BD  distibues ou on replique les donnes sur une BD distribues?si c'est le cas PostgreSQL est donc une base ditribues.
Merci

Hors ligne

#2 04/11/2010 10:15:08

Marc Cousin
Membre

Re : Replication-BD distribues!

En fait le terme distribué ou réparti peut vouloir dire tout et n'importe quoi suivant son auteur, c'est le genre de mot dont il faut se méfier.

Comme son nom l'indique, il s'agit de répartir les données d'une base entre plusieurs machines. Ça ne précise pas grand chose de plus… Alors que c'est le reste qui est le plus important :
- La base 'distribuée' doit-elle être cohérente, au sens transactionnel du terme (contraintes d'intégrité, commit atomigue…). Les bases 'NoSQL' font l'impasse là dessus, par exemple, pour avoir de meilleures performances. Mais évidemment, ça risquerait de poser problème pour une application bancaire par exemple.
- Toutes les machines ont elle un réplicat complet des données ? Ou chacune ne contient-elle qu'un sous ensemble ?
- Y a t'il un maître et des esclaves ? Ou du multi-maître et la gestion des conflits qui va avec ?
- Si il y a de la réplication, est elle synchrone ou asynchrone ?

PostgreSQL adresse certaines de ces problématiques, mais pas toutes:
On a des technos
- de réplication (slony, londiste, streaming replication) qui permettent un fonctionnement maitre-esclave asynchrone, des multi-maîtres (comme bucardo)
- de répartition de charge (pgpool, pgbouncer) qui permettent de rediriger de façon transparente des requêtes sur l'un des noeuds
- d'interrogation d'une base par une autre (plproxy)
- de répartition de données sur plusieurs noeuds (gridsql)

Bref, PostgreSQL n'est pas une base distribuée. Mais on a plein d'outils qui permettent de s'en rapprocher, et de choisir le type de base distribuée qu'on veut.


Marc.

Hors ligne

Pied de page des forums