Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

PostgreSQL 9 sort : support de la réplication et de la reprise à chaud
Cette version arrivera-t-elle à s'imposer dans les entreprises ?

Le , par Gordon Fowler

0PARTAGES

3  0 
Mise à jour du 23/09/2010 par Idelways

La dernière version en date du système de gestion de base de données relationnelle (SGBDR) OpenSource « PostgreSQL » est disponible.

Dans cette version 9.0, on a pu recenser plus d'une dizaine de changements majeures touchant tous les aspects du logiciel, allant de la sécurité aux performances en passant par la haute-disponibilité.

Mais les évolutions les plus stratégiques pour le SGBD open-source de référence sont sans doute le support de la « réplication en continu » et la « reprise à chaud », indispensables à la scalabilité.

La réplication est la procédure permettant de maintenir synchronisés deux ou plusieurs bases de données situées sur des serveurs différents.
Les serveurs « esclaves » peuvent dès lors prendre le relai en cas de panne ou se répartir les requêtes lors des montés en charge.

La mise en œuvre de la réplication autorise la « reprise à chaud » (hot standby) qui permet de continuer d'interroger une base de données durant les opérations de maintenance ou de restauration.

PostgreSql 9.0 inclue aussi le support du 64 bits sous Windows, les déclencheurs conditionnels et par-colonne, les paramètres nommés et sous-forme de blocs anonymes pour les procédures stockées.

La sécurité n'est pas non plus de reste, le protocole d'authentification « Radius » est supporté, la gestion en masse des permissions a été simplifiée grâce à de nouvelles commandes et une fonction « passwordcheck » permet de contrôler la complexité des mots de passes.

Pour passer à cette version, les utilisateurs de PostgreSQL 8.3 et 8.4 peuvent déclencher une mise à niveau sur-site de leurs bases de données.

Cette version est disponible en téléchargement immédiat sur le site de PostgreSQL.

Source : le site de PostgreSQL.org, les release notes de cette version

Et vous ?

Que pensez-vous de ces nouveautés ?
Postgres arrivera-t-il a prendre à MySQL le leadership des SGBD libres ?
Que manque-t-il encore (selon vous) à PostgreSQL par rapport à ses concurrents ?

PostgreSQL 9.0 veut s'imposer dans les entreprises
Grâce à ses nouveautés et profiter ainsi du rachat de MySQL par Oracle

Si le SGBD qui fait le plus parler de lui est sans conteste MySQL, un de ses concurrents - PostgresSQL - entend bien tirer partie du rachat de Sun par Oracle.

Postgres (petit nom de PostgresSQL), la base de donnée open-source d'EntrepriseDB, affiche en effet de nouvelles ambitions. L'arrivée de la version 9 veut clairement concurrencer DB2 d'IBM ou les produits d'Oracle (dont MySQL, évidemment).

La version 9 est attendue pour le mois d'août mais la deuxième beta, qui a été rendue publique le mois dernier, montre déjà qu'Entreprise DB a mis les petits plats dans les grands pour séduire les professionnels.

Y arrivera-t-il ? Nulle ne le sait aujourd'hui, mais parmi les améliorations qu'apporte Postgres 9.0 on notera la « réplication par flux » (en vo, et plus clairement : la « streaming repplication ») qui permet de dupliquer quasiment en temps réel une base de données. Ce n'est plus un programme tiers qui fait la sauvegarde. Cette nouvelle manière de faire permet une plus grande rapidité de la copie.

Et une plus grande sureté pour les données.

Pour les administrateurs, l'upgrade peut s'avérer très pénible pour des bases importantes. Postrgres l'a simplifié grâce à un outil baptisé Pg_migrator. Plus besoin de migrer la base, seuls les tables (table layouts) sont concernées par la migration. Résultat, le changement de version ne prend plus que quelques secondes.



La gestion des permissions et des droits d'accès (qui peut accéder à quoi et/ou écrire dans la base) a aussi été repensée. L'administrateur peut par ailleurs tracer les requêtes pour savoir quelle application fait quelle requête. Là encore, les usages des entreprises sont clairement visés.

Côté développement, les compilateurs Perl et Python ont été mis à jour (le compilateur de Postgres 9.0 prend en charge Python 3, par exemple).

Bref, de belles améliorations à découvrir dans cette beta 2 disponible sur cette page.

Mais seront-elles suffisantes pour séduire les professionnels et prendre des parts de marché à la concurrence ?

Source

Lire aussi :

Livre : PostgreSQL - Administration et exploitation d'une base de données, de Sébastien LARDIERE, critique par Ernaelsten Gérard
Débat : Faut-il en finir avec la mode NoSQL ?

Les rubriques (actu, forums, tutos) de Développez :

SGBD
PostgreSQL

Et vous ?

Pensez-vous que le rachat de MySQL et l'arrivée de PostgreSQL vont permettre à EntrepriseDB de s'imposer sur le marché professionnel face à Oracle, Microsoft et IBM ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de kedare
Membre expérimenté https://www.developpez.com
Le 07/07/2010 à 12:27
Citation Envoyé par Gordon Fowler Voir le message

Pensez-vous que le rachat de MySQL et l'arrivée de PostgreSQL vont permettre à EntrepriseDB de s'imposer sur le marché professionnel face à Oracle, Microsoft et IBM ?
Non.
Le jour ou Postgresql aura un minimum d'administration possible au niveau de la réplication (genre des équivalents de SHOW MASTER/SLAVE de MySQL), on pourra y penser, car la ça se fait a l'aveugle....
Et faudrait du clustering fiable et pas trop complexe a administrer aussi (Comme MySQL la aussi)
2  0 
Avatar de manudwarf
Membre éclairé https://www.developpez.com
Le 07/07/2010 à 11:57
Citation Envoyé par Gordon Fowler Voir le message
Pensez-vous que le rachat de MySQL et l'arrivée de PostgreSQL vont permettre à EntrepriseDB de s'imposer sur le marché professionnel face à Oracle, Microsoft et IBM ?
S'imposer, nous verrons bien MySQL est bien établi en tant que leader des SGBD libres et il sera difficile de le déloger. Oracle est clairement ciblé par Red Hat (faites un tour sur le site d'EnterpriseDB, ça crève les yeux). MS SQL et DB2 je ne pense pas, mais je peux me tromper.

Moi ce que je retiens surtout de cette version (en tant que développeur), ce sont les améliorations sur les triggers, qui rendront certaines opérations plus claires en ciblant par colonne.

En un mot, yabon !
1  0 
Avatar de _skip
Expert éminent https://www.developpez.com
Le 07/07/2010 à 12:38
C'est un peu vite pour concurrencer les 3 grands payants (ms, oracle, ibm).

Cependant ce SGBD a une roadmap très active, beaucoup de fonctionnalités et de plus il est clairement gratuit contrairement à un certain autre.
Bref c'est vraiment un produit qui a déjà, à l'heure actuelle, beaucoup à offrir.
1  0 
Avatar de Flaburgan
Modérateur https://www.developpez.com
Le 07/07/2010 à 13:41
Pour ma part, les cours de BDD et TP se faisait sur Postgres quand j'étais à l'IUT. Il avait notamment une très grande avance au niveau des triggers sur MySQL. J'ai donc pris l'habitude de l'utiliser, et je continuerais sur ce SGBD.
1  0 
Avatar de kain_tn
Membre émérite https://www.developpez.com
Le 07/07/2010 à 14:12
Citation Envoyé par kedare Voir le message
Non.
Le jour ou Postgresql aura un minimum d'administration possible au niveau de la réplication (genre des équivalents de SHOW MASTER/SLAVE de MySQL), on pourra y penser, car la ça se fait a l'aveugle....
Et faudrait du clustering fiable et pas trop complexe a administrer aussi (Comme MySQL la aussi)
Justement, tu devrais regarder le ReleaseNotes de la beta, parce que le master/slave natif est (enfin) annoncé:

... Built-in, binary, log-based replication. This advance consists of two features: Hot Standby allows continuous archive standby database servers to accept read-only queries, and Streaming Replication allows continuous archive (WAL) files to be streamed over a network port to a standby database server...
1  0 
Avatar de kedare
Membre expérimenté https://www.developpez.com
Le 07/07/2010 à 14:36
Citation Envoyé par kain_tn Voir le message
Justement, tu devrais regarder le ReleaseNotes de la beta, parce que le master/slave natif est (enfin) annoncé:
Oui ça j'ai vu, mais niveau monitoring de la réplication il y a rien, tu as aucun moyen de savoir vraiment des informations sur le statut de la réplication....
1  0 
Avatar de vi_shen
Candidat au Club https://www.developpez.com
Le 12/07/2010 à 11:52
Citation Envoyé par kedare Voir le message
C'est tout sauf pratique
Faudrait des trucs de ce style :
http://dev.mysql.com/doc/refman/5.1/...ve-status.html
http://dev.mysql.com/doc/refman/5.1/...er-status.html
http://dev.mysql.com/doc/refman/5.1/...ave-hosts.html
Puis les "SHOW FULL PROCESSLIST" qui donnent pas mal d'info sont sympa aussi, on voit le thread de réplication, ex: "Has sent all binlog to slave; waiting for binlog to be updated
"

L'approche de la réplication en postgres 9.0 est différente de celle de mysql
mysql : basée sur replay de requêtes sql, équivalent à oracle "Logical standby" (SQL Apply)
postgres : basée sur redo log, équivalent à oracle "Physical standby" (Redo Apply)

avant la version 11g de oracle et 9.0 de postgres :
- l'avantage de "SQL apply" est que la base répliquée peut librement être accédée pour des requêtes en readonly.
- l'inconvénient est la fiabilité de la réplication (différence de données entre le master et slave)

- l'avantage de "Redo Apply" est que la base répliquée est identique au master (un md5 sur les fichiers peut être différent mais le contenu est bien identique).
- l'inconvénient est que la base standby est en mode recovery (application des redo logs) ou en mode readonly, mais pas le deux en même temps.
Autre inconvénient pour postgres uniquement, c'est que le transfert des WAL (Write Ahead Log) n'est pas natif, il faut faire appel à un logiciel tiers ou scripts.

L'apport au niveau réplication de postgresql 9.0 (et oracle 11g) est que la base standby en "Redo Apply" peut -être en mode recovery et en read only en même temps (Hot Standby) et que la réplication est maintenant native (Streaming replication).
Ce qui permet d'avoir une réplication "fiable" et en plus de cela, pourvoir exploiter les ressources de la machine standby qui jusque là ne faisait que dormir.
Cela est bien évidemment un avantage conséquent sur l'exploitation des bases de données en entreprise (je dirais même presque un fantasme devenu réalité pour certain DBA dont je fais partie).

En ce qui concerne la surveillance de réplication il y a les fonctions :
pg_is_in_recovery()
pg_current_xlog_location
pg_last_xlog_receive_location()
pg_last_xlog_replay_location()

# sur le primary
$ ps -ef | grep "postgres: wal sender"
postgres 19110 1708 0 11:09 ? 00:00:00 postgres: wal sender process postgres 192.168.225.129(51057) streaming 0/E0001D60

# sur le standby
$ ps -ef | grep "postgres: wal receiver"
postgres 19109 19103 0 11:09 ? 00:00:00 postgres: wal receiver process streaming 0/E0001D60

https://postgresql.developpez.com/do...tion/francais/

Et pour ce qui est de l'intégration de postgres en entreprise, MySQL et Postgresql sont tous deux autant "entreprise ready" l'un que l'autre (Chez nous on a les deux) Postgres manque peut-être un peu d'outils comparé à MySQL (malgré que toutes les informations pour constituer les outils sont disponibles), mais sa robustesse, son coté full transactionnel, les DDL transactionnel !! (aucun autre sgbd ne le fait à ma connaissance), ses verrous, ses vues systèmes pour consulter les locks, les statistiques de tables, etc... fait que je le préfère à MySql.
Selon moi il n'y a pas une différence significative de performance entre mysql et postgres, les benchmarks sont toujours à interpréter avec prudence.
MySQL offre beaucoup de fonctionnalité unique en son genre (multiple moteur au niveau table avec conversion possible, réplication partielle native, sql modes paramétrables, etc,...), mais avec des défauts liés à son coté trop permissif et qui détériore la qualité de sa réplication (sql_strict non activé par défaut). La commande show est un aberration (impossible d'utiliser le résultat pour faire des jointures par exemple). Un recovery innodb peut-être extrêmement long. L'impossibilité de shrinker le fichier de données innodb est frustant.

Bref la version 9.0 de postgres, je l'attend impatiemment. La beta 3 vient de sortir:
http://rhaas.blogspot.com/2010/06/wo...-90-beta3.html

dba mysql/postgres
1  0 
Avatar de dgenier
Candidat au Club https://www.developpez.com
Le 15/07/2010 à 0:12
Sans conteste Postgresql et Postgis sont du meilleur niveau. Oracle Spatial et Mysql et son add-on spatial on encore du boulot pour se conformer aussi bien que postgres/postgis tant au SQL qu'aux recommandations d'OSgeo.

Pour ma part, j'utilise le duo précité (postgres-postgis) avec grand bonheur tant pour du tracking gps en temps-réel (avec un peu de Talend TOS) que pour de la géostatistique, en entreprise (détail juste pour recadrer avec le sujet de départ)!

Par contre, il reste beaucoup de détracteurs qui se gargarisent des difficulté de replication... C'est sûrement une bonne voie pour améliorer la visibilité et l'utilisation de postgres que de simplifier ces procédures.

Didier
1  0 
Avatar de Antoine_935
Membre éprouvé https://www.developpez.com
Le 15/07/2010 à 14:33
Citation Envoyé par tralloc Voir le message
Donc en résumé par rapport à Mysql, j'aimerais plus de simplicité dans cet outil.
PostgreSQL fonctionne différemment de MySQL. Un petit coup d'oeil dans le manuel répond vite aux questions qu'on se pose.

En ce qui me concerne, je serais heureux de voir disparaître MySQL au profit de Postgres (chez les hébergeurs web). Ce dernier offre un tas de choses intéressantes en plus :
- gestion d'héritage de tables
- trigger/fonctions/procédures qui fonctionnent bien
- gestion des séquences indépendantes d'un champ de table (très utile pour les identifiants d'objets)
- etc.

Et dans l'ensemble, je trouve que PostgreSQL me laisse beaucoup plus une impression de "solide" que MySQL (je vous l'accorde, c'est très subjectif).

Pour ce qui est de la réplication, il existe déjà un tas de solutions tierces, commerciales ou open-source.
1  0 
Avatar de Idelways
Expert éminent sénior https://www.developpez.com
Le 23/09/2010 à 11:03
PostgreSQL 9.0 sort : support de la réplication et de la reprise à chaud
Cette version arrivera-t-elle à s'imposer dans les entreprises ?

Mise à jour du 23/09/2010 par Idelways

La dernière version en date du système de gestion de base de données relationnelle (SGBDR) OpenSource « PostgreSQL » est disponible.

Dans cette version 9.0, on a pu recenser plus d'une dizaine de changements majeures touchant tous les aspects du logiciel, allant de la sécurité aux performances en passant par la haute-disponibilité.

Mais les évolutions les plus stratégiques pour le SGBD open-source de référence sont sans doute le support de la « réplication en continu » et la « reprise à chaud », indispensables à la scalabilité.

La réplication est la procédure permettant de maintenir synchronisés deux ou plusieurs bases de données situées sur des serveurs différents.
Les serveurs « esclaves » peuvent dès lors prendre le relai en cas de panne ou se répartir les requêtes lors des montés en charge.

La mise en œuvre de la réplication autorise la « reprise à chaud » (hot standby) qui permet de continuer d'interroger une base de données durant les opérations de maintenance ou de restauration.

PostgreSql 9.0 inclue aussi le support du 64 bits sous Windows, les déclencheurs conditionnels et par-colonne, les paramètres nommés et sous-forme de blocs anonymes pour les procédures stockées.

La sécurité n'est pas non plus de reste, le protocole d'authentification « Radius » est supporté, la gestion en masse des permissions a été simplifiée grâce à de nouvelles commandes et une fonction « passwordcheck » permet de contrôler la complexité des mots de passes.

Pour passer à cette version, les utilisateurs de PostgreSQL 8.3 et 8.4 peuvent déclencher une mise à niveau sur-site de leurs bases de données.

Cette version est disponible en téléchargement immédiat sur le site de PostgreSQL.

Source : le site de PostgreSQL.org, les release notes de cette version

Et vous ?

Que pensez-vous de ces nouveautés ?
Postgres arrivera-t-il a prendre à MySQL le leadership des SGBD libres ?
Que manque-t-il encore (selon vous) à PostgreSQL par rapport à ses concurrents ?
1  0