Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    PostgreSQL 9.0 sort et veut s'imposer dans les entreprises
    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 ?




    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 ?

  2. #2
    Membre éclairé
    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 !

  3. #3
    Membre expérimenté
    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)

  4. #4
    Expert éminent
    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.

  5. #5
    Modérateur

    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.
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

  6. #6
    Membre émérite
    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...
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  7. #7
    Membre expérimenté
    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....

  8. #8
    Membre émérite
    Au niveau de la réplication par streaming (nouveau) je ne sais pas, mais pour la réplication par log shipping, je sais où j'en suis en regardant dans les répertoires de fichiers WAL de mon serveur principal et de mon serveur secondaire en principe.

    Après c'est clair que ce n'est pas un truc que tu peux faire depuis PhpPgAdmin par exemple...
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  9. #9
    Membre expérimenté
    Citation Envoyé par kain_tn Voir le message
    Au niveau de la réplication par streaming (nouveau) je ne sais pas, mais pour la réplication par log shipping, je sais où j'en suis en regardant dans les répertoires de fichiers WAL de mon serveur principal et de mon serveur secondaire en principe.
    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
    "

  10. #10
    Membre éclairé
    franchement je ne trouve aucun défaut à postgres, ça fait 10ans que je connais et il est de mieux en mieux.

    il ne manque qu'une chose, c'est un lamp/wamp (genre easyphp) afin de le rendre populaire chez les développeurs/testeurs apprentis...

  11. #11
    Membre actif
    Citation Envoyé par Michael REMY Voir le message
    franchement je ne trouve aucun défaut à postgres, ça fait 10ans que je connais et il est de mieux en mieux.
    Quand on travaille comme moi dans le domaine de l'information géographique, il n'y a même pas photo entre MySQL et PostgreSQL. Le module géo MyGIS de MySQL est une immonde bouse comparée à PostGIS (celui de PostgreSQL). En termes de fonctionnalités, ce dernier est quasiment au niveau du ruineux Oracle Spatial.

    Citation Envoyé par Michael REMY Voir le message
    il ne manque qu'une chose, c'est un lamp/wamp (genre easyphp) afin de le rendre populaire chez les développeurs/testeurs apprentis...
    PostgreSQL est très facile à intégrer dans WampServer (www.wampserver.com) en suivant cette doc : http://jc.etiemble.free.fr/abc/index...ostgresql-wamp
    Sinon c'est encore plus simple sous Linux avec un petit apt-get install postgresql-8.4

  12. #12
    Membre régulier
    Pas encore, Postgres a encore du chemin à faire avant de parler de concurrencer Ms SQL, Oracle ou MySql mais il faut dire que le SGBD a déjà beaucoup à offrir tel que tous ce qui a été cité plus haut.
    Essor me dit : "Un clavier AZERTY booste le code mais ce n'est pour mettre des accents."

    http://code.code/

  13. #13
    Expert éminent
    Je pense qu'il concurrence très très largement mySQL tout de même. Pour Oracle, MsSql, Db2, ok, mais mySQL je ne sais pas pour la toute dernière version mais aux dernières nouvelles il était un sacré bout derrière côté fonctionnalités.

  14. #14
    Membre expérimenté
    Citation Envoyé par _skip Voir le message
    Je pense qu'il concurrence très très largement mySQL tout de même. Pour Oracle, MsSql, Db2, ok, mais mySQL je ne sais pas pour la toute dernière version mais aux dernières nouvelles il était un sacré bout derrière côté fonctionnalités.
    Ça dépend sur quoi... Niveau capacité de scaling horizontale (et même vertical avec la 5.4), MySQL explose Postgresql...

    Enfin pour moi MySQL est clairement plus "enterprise-ready" que Postgresql

  15. #15
    Expert éminent
    Alors il faut croire que mes expériences en mySQL d'il y a quelques années ne sont plus du tout d'actualité.

  16. #16
    Candidat au Club
    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

  17. #17
    Membre émérite
    Si je peux me permettre une suggestion...
    ... c'est d'avoir un système de sauvegarde un peu moins rustique. Il n'est pas interdit de loucher sur la méthode de Microsoft SQL-Server (ils ont eux-même assez louché sur les autres).

    Là s'arrête mes suggestions (je ne suis pas assez fortiche). J'en profite pour saluer l'énorme travail de traduction de la documentation qui suit toutes les nouvelles versions de PostgreSQL
    "Toute l'histoire de l'informatique n'a été que l'histoire des systèmes d'exploitations" (Le Manifeste du PC)

  18. #18
    Candidat au Club
    pour les services GIS
    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

  19. #19
    Membre actif
    Si vous voulez mon avis en tant que non spécialiste en SGBD, j'aime bien posgress, mais je trouve que l'outil d'administration graphique demanderait à être plus convivial.

    De plus la dernière fois que j'ai essayé de l'installer sur une distrib Ubuntu, (pas de problème pour l'install en elle même) mais je ne suis pas parvenu à me loguer depuis un compte utilisateur.

    Donc en résumé par rapport à Mysql, j'aimerais plus de simplicité dans cet outil.

    Ceci est un avis de non spécialiste, plutôt développeur objet...

  20. #20
    Membre éprouvé
    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.

###raw>template_hook.ano_emploi###