Developpez.com

Plus de 14 000 cours et tutoriels en informatique professionnelle à consulter, à télécharger ou à visionner en vidéo.

PostgreSQL 9.0 veut s'imposer dans les entreprises
Grâce aux nouveautés dévoilées dans sa beta 2 et profiter du rachat de MySQL

Le , par Gordon Fowler, Expert éminent sénior
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Hinault Romaric Hinault Romaric - Responsable .NET http://www.developpez.com
le 23/09/2010 à 16:04
PostGre fait preuve d'une certaine maturité et jusqu'ici c'est l'un des meilleurs SGBD libre qui existe à l'heure actuelle. Je l'ai utilisé pendant quelque temps et faut dire que dans le contexte ou je l'ai utilisé j'en ai tiré entière satisfaction.

Néanmoins pour dominé MySQL faudra encore quelque temps, MySQL est un standard dans le web c'est ce qui fait sa force actuellement.
Avatar de Jcpan Jcpan - Membre averti http://www.developpez.com
le 23/09/2010 à 18:23
Citation Envoyé par tralloc  Voir le message
- Que manque-t-il encore (selon vous) à PostgreSQL par rapport à ses concurrents ?
Je pense qu'il manque d'un vrai outil à tout faire comme sur Mysql (mysqlworkbench) qui est surpuissant.
Mysql Workbench c'est la possibilité de faire ses modélisations, avec reverse et forward engeneering (et aussi d'extraire un xml que j'utilise pour générer du code)...

tu as http://live.gnome.org/Dia et pour simple designs et dia2code pour generer le DDL.

Citation Envoyé par tralloc  Voir le message
Mais aussi de faire l'administration des bases ainsi qu'un outil de requêtage graphique très convivial.


http://www.sqlmaestro.com/products/postgresql/maestro/ et plein d'autres

Citation Envoyé par tralloc  Voir le message
Je pense qu'il manque la possibilité de faire facilement l'équivalent oracle du dblink différentes bases (Oracle, Mysql,...)

Pg admin est assez limité par rapport à cela !Le jour où il y a ça en gratos pour postgre...


c'est aussi tordu ?
Avatar de manudwarf manudwarf - Membre éclairé http://www.developpez.com
le 24/09/2010 à 9:32
Citation Envoyé par Jcpan  Voir le message

Que j'utilise et trouve génial Malheureusement c'est proprio/Windows only, c'est pas vraiment le plus pratique quand on utilise Linux
Avatar de tralloc tralloc - Membre actif http://www.developpez.com
le 24/09/2010 à 9:54
JCPAN
Désolé mais DIA n'est pas du tout comparable.
Avec MysqlWorkbench tu as la gestion d'un ou plusieurs schéma, tu crées différents diagrammes utilisant ces schémas, les connexions entre tables sont très intuitives à réaliser, les types sont les types prédéfinis de la base... Et la connection entre la base et le code elle est directe. Je suis désolé mais j'aime les outils graphiques conviviaux.

Au niveau de l'administration, je suis d'accord il existe beaucoup de produits (quand même pas facile d'en trouver un libre et bien convivial, qui ne bug pas...). Dans l'outil livré par Mysql, le produit est intégré, administration, conception et requêteur. Tu n'as pas idée du temps que l'on gagne.

Pour le DB link je regardais sur des forums (par curiosité)... j'ai pas vu beaucoup de réponse et les gens disaient qu'il y avait des possibilités mais que ce n'était pas aisé.

Concernant les gens qui disent qu'une base de donnée n'est pas faite pour ceci ou cela, je trouve que c'est parfaitement ridicule quelle différence, pour un développeur y a-t-il entre utiliser une base mysql, et Posgre ou oracle ?
- L'utilisateur de Mysql a un bel outil de développement, qui lui offre une certainde facilité de travail ainsi qu'un gain de temps non négligeable.
- L'utilisateur Postgre ou oracle peut utiliser différents rôles dans une même base, utiliser des triggers plus avancés, faire de la réplication à chaud, des outils de scripts plus complets... Cela dit un utilisateur postgre qui veut faire une base simple n'est pas obligé d'utiliser toutes ces fonctionnalités, mais attention il doit gérer des séquences et non pas une variable auto incrément.

Au final avec un super outil de développement pour postgre, je choisis directement ce système de gestion.
Avatar de Chauve souris Chauve souris - Membre chevronné http://www.developpez.com
le 29/09/2010 à 17:56
Pour pouvoir l'intégrer à Visual Studio, comme ça existe avec MySQL. Ca serait parfait
Certes il y a Npgsql mais c'est un peu bidouille, mal documenté (et ça reste en anglais) et ça ne permet pas une implémentation permanente sur VS (j'ai essayé de le mettre en assembly via GAC mais ça s'en fout complètement, il le faut à chaque projet).
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 30/09/2010 à 8:38
Ja'i utilisé npgsql il y a une année ou deux, c'était parfait... En plus il supporte toute la spécification, linq et tout ça.

Le driver ADO.net de firebird, oui ça c'était de la bidouille, mais celui de postgres faut quand même pas exagérer. Puis avoir une doc en français pour ce genre de produit, c'est vraiment un luxe.
Avatar de - http://www.developpez.com
le 30/09/2010 à 22:48
J'avais réussi à imposer PostgreSQL dans mon ancienne boîte ... j'ai du me contraindre à utiliser MySQL dans ma nouvelle.

Comparer PosgtreSQL et MySQL est un peu un non sens, c'est quasi comme comparer 2 langages.

Les avantages de MySQL sont la simplicité.
Les inconvénients ... allez faire des requêtes jointes sur des tables énormes.

PostgreSQL est un peu plus compliqué et encore ... mais formidablement ouvert. PostGIS y ajoute les éléments spaciaux, d'autres plugins l'enrichissent.
L'ajout de langages pour les procédures stockées est d'une facilité déconcertante, j'en venais à envoyer des emails via PL/PG déclenché par des triggers.

Concernant la réplication de MySQL, sérieux, autant on peut la surveiller certes, tout bonnement parce qu'il le faut bien car le serveur peut décrocher sans qu'on comprenne pourquoi, le plus souvent une requête qui ne passe pas. La reprise de base de données à partir des tables directes est aussi un avantage.

Pour postgreSQL, il existe plusieurs solutions pour la réplication, une revue Linux en parlait très bien et présentait d'ailleurs tous les intérêts des différentes façons de faire.

C'est cela que je retiens pour PostgreSQL, un formidable outil très très très ouvert.
Avatar de kedare kedare - Membre extrêmement actif http://www.developpez.com
le 30/09/2010 à 22:52
Va faire un cluster avec MySQL et PostgreSQL, la aussi tu y verra un ÉNORME avantage a MySQL...

Et non, la réplication PostgreSQL n'est toujours pas a la hauteur de celle de MySQL
Avatar de Jcpan Jcpan - Membre averti http://www.developpez.com
le 08/10/2010 à 10:20
Citation Envoyé par kedare  Voir le message
Va faire un cluster avec MySQL et PostgreSQL, la aussi tu y verra un ÉNORME avantage a MySQL...

Et non, la réplication PostgreSQL n'est toujours pas a la hauteur de celle de MySQL

Tu bases sur quoi? il faut quand même un minimum d'argument...
Avatar de kedare kedare - Membre extrêmement actif http://www.developpez.com
le 09/10/2010 à 19:06
Citation Envoyé par Jcpan  Voir le message
Tu bases sur quoi? il faut quand même un minimum d'argument...

Je l'ai déjà expliqué 2 fois dans ce sujet..
Avatar de scheu scheu - Membre expérimenté http://www.developpez.com
le 31/12/2010 à 15:47
Citation Envoyé par kedare  Voir le message
Moi ca sera le cas le jour ou PostgreSQL disposera d'un systeme de réplication qui soit plus simple et plus pratique, et des outils de monitoring (car la c'est le NEAN, à quand un équivalent de MySQL Monitor ?

http://broadcast.oreilly.com/assets_...b-1273x851.png

Tu as quand-même moyen sous Postgresql de vérifier la synchronisation de ta hot-standby. Moyennant un petit shell développé tu peux :

- forcer depuis le serveur primaire un envoi du WAL au pire toutes les X minutes (paramètre archive_timeout)
- regarder, dans le répertoire où tes WALs sont censés être envoyés depuis le serveur primaire (via le paramètre archive_command), l'heure et le numéro du dernier WAL envoyé
- lire la log de sortie de pg_standby ou la log postgresql de ton serveur de secours pour voir le numéro du dernier WAL réappliqué

Et ainsi tu peux :
- voir si sur le secours ça fait plus de X minutes que tu n'as pas reçu de WAL
- voir si le dernier WAL reçu sur le secours a bien été réappliqué

Certes c'est moins simple que d'interroger une vue système ou via une commande de la console SQL, mais bon c'est faisable, ça ma pris 1 heure pour développer le script
Offres d'emploi IT
Assistant chargé de test & tracking H/F
Cellfish Media - Ile de France - Île-de-France
Stage Développement Système de Combat
Atos Technology Services - Provence Alpes Côte d'Azur - Toulon
Développeur java h/f
BULL FR - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil