Une synthèse, et en route vers le futur

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
44
|
Mois de parution
octobre 2009
|
Domaines


Résumé
Ce hors-série nous a permis de présenter un certain nombre de solutions de pooling de connexions, de réplication... bref, de la haute disponibilité sur PostgreSQL. Cet article va faire le tour de tous les systèmes de pooling et de réplication que nous connaissons.

Body

1. Synthèse des solutions actuelles de pooling

Voici un tableau faisant la synthèse des solutions de pooling de connexions :

Outil

Licence

Mode de pooling

Type

pgPool-II

BSD

session

multiprocessus

pgBouncer

BSD

session, transaction, instruction

multithread

Le choix ici est simple. Si vous avez simplement besoin de pooling, pgBouncer a de fortes chances d'être le bon choix. Si vous avez besoin aussi de répartition de charge, commencez par jeter un œil à pgPool-II.

Bien sûr, il existe d'autres systèmes de pooling qui ne sont pas spécifiques à PostgreSQL. Java/Hibernate en propose un, mais tous les échos que nous en avons eus sont peu flatteurs.

2. Synthèse des solutions actuelles de réplication

Et maintenant, un tableau faisant la synthèse des solutions de réplication.

Outil

Licence

Réplication

Synchrone

Répartition de charge

Esclave accessible

Log Shipping/Warm Standby

BSD

Maître/esclave

Non

Non

Non

pgPool

BSD

Maître/esclave, par réplication des instructions




deux serveurs uniquement

Oui

Oui

Oui



pgPool-II

BSD

Maître/esclave, par réplication des instructions

Oui

Oui

Oui

slony-I

BSD

Maître/esclave, par triggers

Non

Non

Oui

Londiste

BSD

Maître/esclave, par triggers

Non

Non

Oui

Mammoth

BSD

Maître/esclave

Non

Non

Oui

rubyrep

MIT

Maître/maître ou maître/esclave

Non

Non

Oui

Bucardo

BSD

Maître/maître ou maître/esclave, par triggers

Non

Non

Oui

DRBD

GPL

Maître/esclave

Oui

Non

Non

Cybercluster

BSD

Maître/maître

Oui

Oui

Oui

PGCluster

BSD

Maître/maître

Oui

Oui

Oui

Postgres-R

BSD

Maître/maître

Oui

Oui

Oui

Attention, pgPool est un projet abandonné qui a laissé la place à pgPool-II. Tous les projets présentés dans ce tableau sont spécifiques à PostgreSQL, à l'exception de rubyrep et de DRBD.

Les projets les plus intéressants actuellement (car les plus actifs) sont Log Shipping/Warm Standby, pgPool-II, Londiste et Bucardo.

3. Le futur

Maintenant que nous avons revu les différentes solutions actuelles, regardons ce qui devrait arriver sous peu.

3.1 Au niveau de PostgreSQL

Tout le monde attend avec une grande impatience la possibilité d'avoir accès en lecture seule aux serveurs Warm Standby. En fait, la dénomination officielle est Hot Standby, d’où le nom du patch de Simon Riggs. Initialement prévue par son auteur pour la 8.4, elle a dû être repoussée. Nous espérons voir cela pour la 8.5, même si Simon semble rencontrer des soucis quant à son implémentation dans PostgreSQL.

Autre patch très attendu, SyncRep. Le but est de fournir une synchronisation à la transaction près, dans le moteur de PostgreSQL. Une sorte de Log Shipping qui n'envoie pas de journaux de transactions complets, mais plutôt des bouts de journaux correspondant à des transactions unitaires. Là aussi, son auteur travaille dessus.

Il faut bien dire qu'avec ces deux patchs, la vie des autres systèmes de réplication risque de se compliquer. Certains systèmes pourraient tirer leur épingle du jeu en appuyant sur le fait qu'ils ont une granularité beaucoup plus fine quant aux choix des objets à répliquer. Slony, Londiste, Bucardo et rubyrep en font partie.

3.2 Le futur de Slony

Cela ne sera pas Slony-II qui est laissé en friche depuis bien trop longtemps. Aucun développeur ne travaille dessus.

L'article sur Slony utilisait PostgreSQL 8.3, ce qui n'est pas un hasard, la version 8.4 n'étant pas encore supportée. Très rapidement, les versions 1.2.17 et 2.0.3 devraient sortir pour supporter cette version. Il devrait même y avoir un support des triggers TRUNCATE. Si vous utilisez Slony, testez ces versions, elles sont prometteuses.

Mais, à notre connaissance, il n'y a pas de plan pour une évolution plus importante.

3.3 Londiste 3

Les développeurs de Skype vont frapper un grand coup avec cette nouvelle version majeure des Skytools. Tout en conservant les meilleures fonctionnalités de la version 2, ils vont ajouter :

- un support des serveurs en cascade par le système de gestion de queues, PGQ ;

- un support des COPY parallélisées par Londiste, accélérant ainsi la mise en place d'une réplication ;

- une commande EXECUTE qui sera de la partie pour exécuter des scripts SQL sur les différents nœuds en même temps (pensez à l'envoi d'une modification de schéma sur tous les nœuds, ce que Slony est capable de faire avec slonik_execute_script.pl) ;

- une création automatique des tables et séquences par import de la structure du nœud maître (cela supprime une étape dans la mise en place de la réplication) ;

- une nouvelle console interactive d'administration ;

- et plein d'autres choses.

Clairement, les développeurs de Londiste proposent une nouvelle version très attrayante. Néanmoins, ils n'ont pas l'air très pressés de sortir cette version. Ils ont certainement besoin d'aide pour des tests. Avis aux amateurs !

3.4 Bucardo

Cet outil semble être bien parti pour progresser rapidement. Bien qu'il ne soit pas à la portée du premier venu pour l'instant, sa prochaine version, la 4.0, devrait être bien plus simple d'installation, tout en gardant cette fonctionnalité unique de réplication maître/maître.


Sur le même sujet

Gérer une base de données avec Adminer

Magazine
Marque
Linux Pratique
Numéro
121
|
Mois de parution
septembre 2020
|
Domaines
Résumé

La gestion des bases de données relationnelles est une technologie essentielle pour les entreprises. Sa complexité nécessite de disposer de logiciels pratiques et fiables pour manipuler les données avec efficacité et en toute sécurité. Adminer entre dans la catégorie poids plume de ces outils, mais ne manque pas d'arguments pour séduire les administrateurs de bases de données et les développeurs.

Sécurisation du serveur

Magazine
Marque
Linux Pratique
HS n°
Numéro
48
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Notre serveur RHEL est désormais fin prêt à être utilisé et maintenu, sans peine et de manière confortable. Cependant, notre travail n’est pas terminé. Il nous reste encore un élément crucial à valider : nous assurer que le serveur est aussi sûr et protégé que possible face à un éventuel assaillant mal attentionné.

Détection d'anomalies par ACP

Magazine
Marque
MISC
Numéro
111
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Retour de vacances. L’analyse du SIEM après un mois d’absence montre que dix incidents ont été déclenchés sur la base des alertes automatiques et ont pu être gérés convenablement par la chaîne de traitement d’incidents. Tout est-il sous contrôle ? Un analyste aimerait rapidement s’en assurer en complétant cette supervision par sa propre analyse du mois écoulé. Mais par où commencer ? Il est inenvisageable de regarder un mois de logs « rapidement » et d’autant plus quand on ne sait pas précisément ce que l’on cherche… Une solution possible est de recourir à des outils statistiques qui permettent d’identifier des périodes d’activité atypiques sur lesquelles concentrer son analyse. L’analyse en composantes principales (ACP ou PCA en anglais) est une méthode statistique qui peut répondre relativement efficacement à cette problématique. L’article présente cette méthode et son apport dans la détection d’anomalies, en prenant comme exemple l’analyse de flux réseaux.

Effectuer des sauvegardes avec rdiff-backup

Magazine
Marque
Linux Pratique
Numéro
121
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Tous les jours, nous créons et manipulons des données. Certaines plus importantes que d’autres. Une chose que nous partageons tous c’est bien la peur de les perdre. Peut-être avez-vous déjà perdu des données suite à une panne de votre disque de stockage, l’attaque d’un virus ou le vol de votre ordinateur. Les personnes ayant déjà connu cette situation comprennent les tracas que cela peut causer. Vous allez découvrir dans ce tutoriel comment limiter le risque d’y faire face. La solution se trouve en un mot : « sauvegarde ». L’outil que nous allons vous présenter ici a été conçu pour vous aider à réaliser cette tâche de manière efficace et efficiente.

Aller plus loin avec coreboot

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Rappelez-vous dans le numéro 220 de GNU/Linux Magazine, j’avais écrit un petit article sur coreboot, le BIOS libre. Je vous propose cette fois d’aller plus loin, en explorant quelques façons de sécuriser un peu le processus de boot, et plus encore.

Par le même auteur

Évolution de PostgreSQL en version 11

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
101
|
Mois de parution
mars 2019
|
Domaines
Résumé
La version 11 de PostgreSQL est sortie le 18 octobre. Une première version corrective est déjà sortie et la seconde est prévue pour le 14 février 2019. Cette nouvelle version est principalement une version 10 améliorée : rien de bien révolutionnaire, mais de nouvelles fonctionnalités qui aident bien.

La version 10 de PostgreSQL et la réplication

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
99
|
Mois de parution
novembre 2018
|
Domaines
Résumé
Depuis la version 9.0, les développeurs de PostgreSQL améliorent sans cesse la réplication interne. Cette version ne fait pas exception, et continue à proposer de nouvelles options sur la réplication physique. Elle ajoute aussi un type de réplication attendu depuis longtemps, la réplication logique.

Performances et supervision avec PostgreSQL en version 10

Magazine
Marque
GNU/Linux Magazine
Numéro
220
|
Mois de parution
novembre 2018
|
Domaines
Résumé
Après avoir présenté les nouveautés majeures de la version 10, il nous reste à nous pencher sur les performances et la supervision. Cette version apporte beaucoup d’améliorations sur ces deux sujets. Les nouveautés en termes de supervision raviront les administrateurs cherchant à mieux comprendre le comportement de PostgreSQL. Quant aux améliorations de performance, elles sont nombreuses, la plus attendue étant un meilleur support de la parallélisation. Deux excellentes raisons pour installer cette version 10… avant de passer à la version 11 !

PostgreSQL 10, quelques nouvelles fonctionnalités

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
97
|
Mois de parution
juillet 2018
|
Domaines
Résumé
La version 10 de PostgreSQL est sortie depuis quelques mois, il est temps de faire un tour des nouvelles fonctionnalités et des changements majeurs. Ce premier article va discuter de différents points particulièrement intéressants, mais les trois grosses nouveautés, à savoir le partitionnement, la réplication logique et les améliorations au niveau performance et supervision seront abordées chacune dans leur propre article.

Partitionnement avec PostgreSQL 10

Magazine
Marque
GNU/Linux Magazine
Numéro
217
|
Mois de parution
juillet 2018
|
Domaines
Résumé
Le partitionnement dans PostgreSQL a toujours été un contournement d’autres fonctionnalités pour arriver à une séparation plus ou moins invisible, du point de vue de l’application, des données d’une table sur plusieurs tables. Il y eut de nombreuses tentatives au fil des ans pour améliorer cela, mais il y eut autant d’échecs... sauf avec cette version 10 qui réussit haut la main ce challenge. Cet article explique les différentes améliorations liées au partitionnement en version 10. On y voit aussi que certaines limitations restent présentes.

PostgreSQL 9.6 : les fonctionnalités moteurs

Magazine
Marque
GNU/Linux Magazine
Numéro
201
|
Mois de parution
février 2017
|
Domaines
Résumé
Dans un précédent article (voir GNU/Linux Magazine n°198), nous avons pu voir la nouveauté phare de la version 9.6 de PostgreSQL. Mais il ne s’agit pas de la seule amélioration de cette nouvelle version. Les développeurs ont passé aussi beaucoup de temps sur l’API de gestion des tables distantes, sur les possibilités offertes par la réplication physique, et sur plusieurs optimisations du moteur. Ils ont aussi travaillé sur différents aspects de l’administration comme la sauvegarde et la sécurité.