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 16/11/2011 13:27:01

genio
Membre

Sur le hot standby...

Bonjour à tous...

Je reviens vers vous pour des questions sur le hot standby  et autre (et excusez mes questions bêtes !) :

1°) Comment sont réparties les lectures sur un serveur HotStandby ? Est-ce PGPOOL qui choisit la répartition genre : j'envoie le 'SELECT de l'utilisateurA vers Esclave' et 'Select de l'utilisateurB vers le Maître' ?

2°) J'ai pas trop compris la différence entre le 'failover' et le 'switchover' lors d'un switch entre le serveur maître et esclave...

3°) A quoi servirait un serveurs maître qui aurait par exemple 5 esclaves ?

4°) Autre chose... est-il possible d'avoir une très grosse database Postgrès, diffusée par exemple, sur 12 serveurs (1 serveur définissant 1 mois de donné)... dont les mises à jour seraient effectuées, selon les données, vers tel ou tel serveur ?

Merci pour vos réponses...

PS : Bravo pour les 2 post sur les 'mises en replication Postgrès 9.0 '... ils sont très clairs !

Hors ligne

#2 16/11/2011 13:58:15

gleu
Administrateur

Re : Sur le hot standby...

1°) Comment sont réparties les lectures sur un serveur HotStandby ? Est-ce PGPOOL qui choisit la répartition genre : j'envoie le 'SELECT de l'utilisateurA vers Esclave' et 'Select de l'utilisateurB vers le Maître' ?

PostgreSQL ne répartit rien. pgpool le fera par contre. Il le fait en distribuant les requêtes sur leur nombre et non pas leur complexité.

2°) J'ai pas trop compris la différence entre le 'failover' et le 'switchover' lors d'un switch entre le serveur maître et esclave...

La seule différence consiste dans le fait que le maître est mort pour le failover, et vivant dans le cas du switchover. La distinction est importante car cela sous-entend dans le cas du switchover qu'il faut aussi basculer l'ancien maître en esclave.

3°) A quoi servirait un serveurs maître qui aurait par exemple 5 esclaves ?

L'intérêt le plus flagrant est dans la répartition de charge. Vous avez six serveurs sur lesquels répartir la charge au lieu de deux. Donc à priori de meilleures performances.

4°) Autre chose... est-il possible d'avoir une très grosse database Postgrès, diffusée par exemple, sur 12 serveurs (1 serveur définissant 1 mois de donné)... dont les mises à jour seraient effectuées, selon les données, vers tel ou tel serveur ?

Ça s'appelle du sharding et ce n'est pas disponible avec la réplication interne de PostgreSQL. Par contre, c'est possible à obtenir avec d'autres systèmes de réplication (Slony, Londiste, Postgres XC, etc.).


Guillaume.

Hors ligne

#3 16/11/2011 14:50:19

genio
Membre

Re : Sur le hot standby...

Merci Guillaume pour vos réponses...

Hors ligne

#4 16/11/2011 15:02:09

genio
Membre

Re : Sur le hot standby...

Merci Guillaume pour vos réponses...


3.1) Ill ne faut pas alors que la database soit trop volumineuse, car dupliquer par exemple 1 tera sur 5 serveur me parait bien lourd pour des questions de disponibilité et de perf'... me trompe-je  ?
Et dans ce cas deux question :
            3.1°) Est-ce serveur maître qui alimente tous les esclaves
            3.2°) Un esclave peut-il alimenter un autre esclave

4.1°) Pourquoi le sharding n'effectue t'il pas de duplication  ... ce sont à mon sens, deux choses différentes car un serveur maitreA (mois de janvier) pourrait très bien dupliquer sur un serveuresclaveA... bizarre !
4.2°) La répartition des charges/msnipulations de données dans ce cas là, est-il fait par PGPOOL ?
4.3°) Pourquoi Slony peut-il faire du Sharding ? Pour moi Slony n'est que de la réplication de données par trigger entre deux serveurs !,

Hein ?   

Merci encore pour vos réponses...

Hors ligne

#5 16/11/2011 15:03:15

genio
Membre

Re : Sur le hot standby...

Je reprends :
Merci Guillaume pour vos réponses...

3.1) Il ne faut pas alors que la database soit trop volumineuse, car dupliquer par exemple 1 tera sur 5 serveur me parait bien lourd pour des questions de disponibilité et de perf'... me trompe-je  ?
Et dans ce cas deux question :
3.2°) Est-ce serveur maître qui alimente tous les esclaves
3.3°) Un esclave peut-il alimenter un autre esclave

4.1°) Pourquoi le sharding n'effectue t'il pas de duplication  ... ce sont à mon sens, deux choses différentes car un serveur maitreA (mois de janvier) pourrait très bien dupliquer sur un serveuresclaveA... bizarre !
4.2°) La répartition des charges/msnipulations de données dans ce cas là, est-il fait par PGPOOL ?
4.3°) Pourquoi Slony peut-il faire du Sharding ? Pour moi Slony n'est que de la réplication de données par trigger entre deux serveurs !,

hein ?   

Merci encore pour vos réponses...

Hors ligne

#6 16/11/2011 17:41:43

rjuju
Administrateur

Re : Sur le hot standby...

3.1 Tout dépend de l'utilisation que vous voulez en faire et du nombre de connexions simultanées. De nos jour les disques (et "petits serveurs") ne coutent plus si cher que ça, surtout comparé à une architecture contenant plusieurs dizaines de processeurs.

3.2 Oui, c'est le maître qui alimente tous les esclaves.

3.3 A priori, la version 9.2 de postgresql apportera la réplication en cascade, c'est-à-dire un esclave alimentant un autre esclave.

4.1 Ceci se rapproche plus d'un mode multi-maitre, que postgresql ne fait pas nativement (bucardo le fait), ou de partitionnement de table sur plusieurs serveurs, que postgresql ne fait pas non plus nativement (je ne m'y connais pas il y a peut-être des outils pour y parvenir comme Pl/Proxy).

4.3 La réplication de Postgresql se fait au niveau instance, c'est-à-dire toutes les tables de toutes les bases d'un serveur. Slony permet une réplication sélective, et donc de répliquer une table A vers un serveur A et une table B sur un serveur B.

Dernière modification par rjuju (16/11/2011 19:07:45)

Hors ligne

#7 16/11/2011 23:51:58

gleu
Administrateur

Re : Sur le hot standby...

4.1 Ceci se rapproche plus d'un mode multi-maitre, que postgresql ne fait pas nativement (bucardo le fait), ou de partitionnement de table sur plusieurs serveurs, que postgresql ne fait pas non plus nativement (je ne m'y connais pas il y a peut-être des outils pour y parvenir comme Pl/Proxy).

Oui, pl/proxy le permet.

4.3 La réplication de Postgresql se fait au niveau instance, c'est-à-dire toutes les tables de toutes les bases d'un serveur. Slony permet une réplication sélective, et donc de répliquer une table A vers un serveur A et une table B sur un serveur B.

Pour détailler un peu plus, Slony permet que les données des serveurs peuvent être différents en dehors de données répliquées (contrairement à la réplication de PostgreSQL qui fait une copie bit de bit de tout).  Du coup, il est possible d'utiliser pl/proxy ou le partitionnement pour arriver à avoir du sharding. Faut le vouloir, parce que ce n'est pas simple à mettre en place. Mais c'est possible.


Guillaume.

Hors ligne

#8 17/11/2011 13:34:51

genio
Membre

Re : Sur le hot standby...

Merci à vous...

A bientôt !

Hors ligne

#9 17/11/2011 16:27:35

genio
Membre

Re : Sur le hot standby...

Je re-rouvre pour savoir s'il y a un manuel explicatif (en français !) sur pl/proxy (j'ai rien trouvé sur Internet) ?

merci pour vos réponses

Hors ligne

#10 17/11/2011 17:51:06

gleu
Administrateur

Re : Sur le hot standby...

Non, ça n'existe pas.


Guillaume.

Hors ligne

Pied de page des forums