Liens connexes

Dépêche modérée par

Dépêche éditée par

: PostgreSQL 8.1 disponible

Posté par Xavier Poinsard (page perso, ). Modéré le 09 novembre 2005.
0
La nouvelle version du plus complet des SGBD libres est disponible.
Cette version apporte de nouvelles fonctionnalités comme le "commit à deux phases" ou les paramètres IN / OUT pour les fonctions. Elle contient également de nombreuses améliorations concernant les performances : bitmap index, shared row lock, partitionnement de tables.

Il est savoureux de constater que c'est également aujourd'hui que Computer Associates a annoncé la mise en Open Source de sa base de données Ingres.

NdM : merci à François Suter pour avoir également proposé une dépêche à ce sujet.

> Lire la suite (71 commentaires, moyenne: 4,1).   [dépêche : 4375 caractères]

Nouvelles fonctionnalités avancées

Rôles : PostgreSQL supporte désormais les « rôles de bases de données », ce qui simplifie la gestion de grands nombres d'utilisateurs avec des droits d'accès complexes.

Paramètres IN/OUT : Les fonctions de PostgreSQL acceptent maintenant les paramètres IN, OUT et INOUT, ce qui améliore sensiblement le support de logiques applicatives complexes pour les plateformes J2EE et .NET.

Commit à deux phases (2PC) : Réclamé depuis longtemps pour les applications WAN et les centres de calcul hétérogènes, ce dispositif permet des transactions ACID entre des serveurs distants.

Amélioration des performances

Amélioration des performances sur les multiprocesseurs (SMP) : le gestionnaire de la version 8.1 a été retravaillé de manière à fournir une augmentation quasi-linéaire des performances par rapport au nombre de processeurs, apportant des gains significatifs d'exécution sur des unités centrales de type 8-way, 16-way, double-coeur et multi-coeur.

Parcours de cartes («Bitmap scan») : les index seront dynamiquement convertis en cartes (bitmaps) en mémoire lorsqu'un cas approprié se présente, soit une exécution jusqu'à vingt fois plus rapide lors d'interrogations d'index complexes sur de très grandes tables. Cela contribue également à simplifier la gestion de la base de données en réduisant considérablement le besoin d'index à colonnes multiples.

Partitionnement des tables : le planificateur de requêtes est maintenant capable d'éviter de parcourir des sections entières d'une grande table en utilisant une technique connue sous le nom d'« exclusion de contraintes ». Semblable à la division des tables, que l'on rencontre dans d'autres systèmes, ce dispositif améliore la vitesse d'exécution et la gestion des données pour des tables de plusieurs gigaoctets.

Verrous de ligne partagés : Le verrou « plus fin que la ligne » utilisé par PostgreSQL autorise des niveaux encore plus élevés de concurrence d'accès grâce à l'ajout du verrou de ligne partagé pour les clefs secondaires. Les verrous partagés améliorent l'insertion et la mise à jour dans beaucoup d'applications avec un gros volume de transactions (« Online Transaction Processing » ou « OLTP »).


Autres fonctionnalités de cette version

Parmi les 120 nouveautés et améliorations non mentionnées par le communiqué de presse (cf. supra), on trouve :

* GiST : Le « Generalised Search Tree (GiST) » de PostgreSQL (mécanisme d'indexation optionnel) a été amélioré pour supporter la concurrence d'accès à haute vitesse et les performances en mise à jour que l'on n'obtient généralement qu'en utilisant des index de type B-Tree. GiST est la base de l'indexation en texte intégral (TSearch2), des systèmes d'information géographiques (GIS) et des requêtes d'analyse d'indexation arborescente de PostgreSQL. Grâce à ce perfectionnement, les requêtes sur les types de données complexes maintiennent de bonnes performances dans les applications à haute disponibilité.
* Réécriture de COPY : La commande COPY a été réécrite pour un traitement jusqu'à 30% plus rapide des données en bloc. En ajoutant à cela les améliorations de charge obtenues avec CSV, ceci rend le chargement de grosses bases de données dans PostgreSQL plus rapide que jamais.
* Mémoire partagée 64-bit : le gestionnaire de tampons peut maintenant utiliser jusqu'à deux téraoctets de RAM sur les plateformes 64-bits, préparant ainsi PostgreSQL pour les serveurs à grande mémoire du futur.
* Autovacuum intégré : le « ramasse-miettes » de base de données de PostgreSQL a été amélioré et intégré dans le programme principal du serveur, ce qui rend les serveurs PostgreSQL plus simples à installer et administrer.
* Accélération des agrégations : les fonctions d'agrégation ont été améliorées afin d'accélérer encore les requêtes d'analyse. Les développeurs ont à la fois réécrit la gestion de la mémoire pour les agrégations et optimisé l'indexation de MIN() et de MAX().
* Fonctions d'administration : de nouvelles fonctions ont été ajoutées pour récupérer des informations concernant le serveur et effectuer des tâches administratives, le tout en ligne de commande PSQL.
* Fonctions de compatibilité : les fonctions lastval(), greatest() et least() ont été ajoutées pour faciliter le portage des applications MySQL et Oracle.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Avantage pour un néophyte ?

Posté par bluestorm () le 09/11/2005 à 18:46. (lien). Évalué à 7.

Je profite de cette nouvelle version pour poser une question qui me tarabiscote depuis longtemps :
Est-ce que PostGreSQL apporte un gain par rapport aux autres solutions libres comme MySQL pour un débutant, c'est à dire qui ne maitrisera pas les fonctions avancées.

J'ai cru comprendre que sa spécialité était les relations "complexes" entre les tables, mais je ne sais pas trop ce qui est complexe et ce qui ne l'est pas. Est-ce que les relations des tables d'un forum bourré d'options sont "complexes" ?

Ingres : trop tard ?

Posté par Pierre Jarillon (page perso, ) le 09/11/2005 à 18:53. (lien). Évalué à 10.

Postgresql est maintenant le compétiteur d'Oracle. Il ne reste que très peu de niches où Oracle soit encore irremplaçable. Ingres qui n'a pas su lutter avec Oracle vient maintenant sur le terrain de Postgresql.
Ouvrir son code est une bonne stratégie à deux conditions ; que la licence soit libre (selon les 4 libertés de la FSF) et que ce soit fait à temps. On peut craindre qu'il ne soit déjà trop tard.

Il ne lui manque plus que le cluster...

Posté par Hubert FONGARNAND () le 09/11/2005 à 19:00. (lien). Évalué à 10.

En effet PostGreSQL est certainement l'Alternative à Oracle, Il est cependant regrettable qu'il n'existe que très peu de solutions de clustering fiable pour PostGreSQL (PgPool, Slony). D'autant plus qu'Oracle à vraiment frappé fort avec la version 10g et son RAC (real application Cluster), qui permet du vrai LoadBalancing / Fail Over sur une base de donnée. C'est dommage parce que le clustering et la scalabilité est LA condition pour qu'un SGBD puisse se frayer une place dans l'entreprise...

Félicitation tout de même pour les développeurs de PostGreSQL, ce produit est vraiment très prometteur!

Comparatif de performances

Posté par Christophe Merlet (page perso, ) le 09/11/2005 à 20:00. (lien). Évalué à 0.

Bon, je crois qu'avec la sortie officiel de MySQL 5.0 et celle de PostgreSQL 8.1, il est temps de mettre à jour les comparatifs.

Aujourd'hui. En tant que base de données Web, quelle est la plus performante ?

Un manque dans l'offre

Posté par salvaire () le 09/11/2005 à 21:30. (lien). Évalué à 7.

Aujourd'hui on a trois type de base donnée dans le libre:

- PostgreSql, la solution complète

- MySql, la solution optimisant la rapidité

- SqlLite, la solution poids plume

Ceci est une bonne chose, car se sont des besoins différents.

Par contre, il y a un gros manque. Une base de donnée optimisé en lecture seule. C'est à dire que la mise à jour n'est pas implémenté. Les base de données tels que PostgreSql/MySql sont optimisé pour des accès concurrents en écriture ou en mise à jour. Cas typique des applications commerciales. Or ceci a un coût en complexité et en rapidité. Or des données mesurées sont par définition fixe. On pourrait donc obtenir un gain important avec une base de données optimisé pour la lecture seule. Malheureusement, personne ne semble intéressé par ce cas.

table héritée

Posté par Axel R. (page perso, ) le 10/11/2005 à 09:40. (lien). Évalué à 9.

y'a un truc bien sympa sur PostGres ce sont les tables héritées, c'est comme en objet, tu as une table "individu", tu as deux tables qui en hérites "homme" et "femme" et dans la table "femme" tu mets "nom marital".
Quand tu créer une ligne dans "femme", ça créer en même temps une ligne dans "individu"...

Bon, c'est juste pour expliquer en vitesse ce que c'est, mais je peux vous assurer que c'est vachement pratique. En ce moment, je travaille pour un projet qui utilise PostGres et nous avons toutes nos tables qui hérites d'une même table (parfois avec des tables intermédiaires). Et nous avons ainsi tout nos clefs primaires qui sont uniques (pas uniquement au sein d'une même table)

L'inconvénient c'est que la gestion des clefs étrangeres ne se fait pas très bien, on devrait pouvoir faire une table adresse qui aurait un champ qui pointe vers individu (ou "homme",ou "femme"), mais ça gere strictement les clefs alors qu'en programmation objet, si un objet possede une instance d'individu, il peut de la même façon posseder une instance d'homme ou une instance de femme.

Axel

Revenir en haut de page