Sortie de PostgreSQL 8.2

Posté par  . Modéré par Nÿco.
Étiquettes :
0
6
déc.
2006
Base de données
A 23h00, ce 5 décembre, la communauté des développeurs de PostgreSQL publie la dernière version stable de PostgreSQL, la 8.2. Au programme : meilleures performances, sauvegardes à chaud améliorées, génération des index en ligne...

Les nouveaux outils et fonctionnalités facilitant la gestion de bases de données et le développement incluent :
Améliorations des performances : la version 8.2 améliore les performances d'environ 20% sur les tests de système OLTP (online transaction processing) de pointe. Les utilisateurs peuvent gagner plus encore dans les rendements d'entreposage de données. Les changements comprennent des tris en mémoire et sur disque plus rapides, un meilleur dimensionnement en multi-processeurs, une meilleure planification des requêtes sur les données partitionnées, des chargements massifs plus rapides et des jointures externes grandement accélérées.

Sauvegarde à chaud de bases de données : grâce à une extension de la fonctionnalité « Point in Time Recovery » (restauration d'un instantané), les administrateurs peuvent désormais aisément créer une copie de basculement (failover) du cluster de bases de données.

Construction des index en ligne : les index peuvent désormais être construits alors que les applications écrivent dans les tables de la base. Cela permet d'optimiser les performances sans temps d'arrêt.

Fonctionnalités SQL:2003 : PostgreSQL, bien connu pour son respect des standards, a ajouté un grand nombre des nouvelles fonctionnalités introduites dans les spécifications SQL:2003. Parmi celles-ci, on trouve : les aggrégats de statistiques, les instructions VALUE sur plusieurs lignes, UPDATE RETURNING et les aggrégats multi-colonnes. Le PostgreSQL Global Development Group annonce aujourd'hui la sortie de la version 8.2 du système de gestion de bases de données relationnelles/objet PostgreSQL. Cette 14ème version publique apporte les fonctionnalités, la maturité et les performances souhaitées par les utilisateurs professionnels. Cette version fournit des fonctions de gestion comparables aux systèmes commerciaux leaders. La version 8.2 devrait donc conduire à un nombre encore plus grand de migrations vers PostgreSQL.

Selon Bruce Momjan, membre du core team et architecte de bases de données chez EnterpriseDB, « cette version touche pratiquement toutes les commandes et fonctions de la base de données ». « Elle ajoute une syntaxe étendue et compatible et des interfaces réclamées par notre communauté, ce qui facilite l'utilisation par de nouveaux DBA de toutes les fonctionnalités avancées de PostgreSQL ».

Les fonctionnalités de bases de données avancées, présentes dans PostgreSQL 8.2 avant tout autre système de bases de données majeur, incluent :

Les index inversés généralisés : supportent une manière plus extensible et programmable d'indexer les données textuelles pleines et semi-structurées ;

DTrace : PostgreSQL a également été instrumenté pour le DTrace de Solaris et d'autres outils de traçage avancés à travers le Generic Monitoring Framework.

« Avec des entrepôts de données contenant des tables de plusieurs milliards de lignes et plusieurs téraoctets de données, la création d'index en ligne et les possibilités de sauvegarde à chaud sont cruciales », rapporte Theo Schlossnagle, directeur chez OmniTI ComputerConsulting. « Nous sommes également ravis que PostgreSQL devienne un citoyen de première classe dans la communauté DTrace. Cela signifie que nos efforts principaux d'analyse de systèmes peuvent désormais incorporer des données spécifiques aux bases de données conduisant à des résultats plus pertinents ».

À propos de PostgreSQL : PostgreSQL est un travail collaboratif de plusieurs centaines de développeurs. Il repose sur 21 années de développement, commencé à l'University of California, Berkeley. Fort de son support continu d'un ensemble de fonctionnalités de niveau professionnels, tels que les transactions, les fonctions, les déclencheurs et les sous-requêtes, PostgreSQL est utilisé par des agences gouvernementales et des entreprises parmi les plus exigeantes.

Fonctionnalités additionnelles dans cette version

En plus des fonctionnalités majeures listées dans le communiqué de presse, il y a plus de 200 nouvelles fonctionnalités et améliorations apportées par plusieurs dizaines de développeurs pour la version 8.2. Parmi celles-ci, on trouve :

  • Les verrous consultatifs : autorisent le contrôle des objets de la base au niveau applicatif à l'aide du moteur de verrouillage rapide de PostgreSQL ;
  • pg_dump sélectif : permet d'écrire des sauvegardes d'ensembles de relations cohérentes au niveau transactionnel en sélectionnant leur inclusion/exclusion à l'aide d'expressions rationelles ;
  • Instructions préparées : nouvelles interfaces d'administration et améliorations des performances ; ISN/ISBN : ce module, qui contient les types de données nécessaires à la gestion des localisateurs ISN de produits pour les inventaires et les systèmes de vente au détail, a été mis à jour pour tenir compte des derniers standard internationaux ;
  • Chiffrement : le module pgcrypto, qui permet le chiffrement au sein de la base, a été mis à jour avec les derniers algorithmes ;
  • Améliorations SQL : introduction de nouvelles syntaxes, dont UPDATE RETURNING, DROP IF EXISTS, ON COMMIT et de nouvelles commandes de gestion des droits et appartenances. Cela facilite la gestion des objets en ligne de commande ;
  • Sélection par lots avec psql : autorise le retour de lignes vers la console par lots plutôt qu'en une fois ;
  • Réécriture ECPG : l'interface C embarqué a été entièrement réécrite et de nouvelles interfaces ont été ajoutées ;
  • Améliorations majeures à TSearch2 : support de l'UTF-8, thesaurus, support de réécriture des requêtes et indexation GIN ;
  • PL/Python : supporte maintenant les paramètres nommés et les ensembles retournant des fonctions.


L'architecture extensible de PostgreSQL a abouti à une large communauté d'extensions incluant des langages procéduraux additionnels, des interfaces vers des systèmes externes, de nouveaux types d'index et des outils de réplication et de haute disponibilité. Toutes ces extensions sont hébergées sur le site officiel du projet communautaire PostgreSQL.

Parmi les projets communautaires qui ont été significativement améliorés pendant le cycle de réalisation de la verions 8.2 on trouve :

Les unions complètes : grâce au Google Summer of Code, PostgreSQL est le premier système de gestion de base de données à posséder une implémentation de cet algorithme de jointure résolument nouveau ;
PGPoolII : PGPool, sous le mécénat du gouvernement japonais, a ajouté de nouvelles fonctionnalités de répartition de charge et de partitionnement ;
PL/Java : un de nos deux langages procéduraux Java a atteint le statut d'utilisabilité pleine en production, ce qui permet une utilisation entière de Java au sein de la base.


Plus d'informations sont disponibles sur les dizaines d'améliorations apportées par la version 8.2 dans les notes de version.

Vous pouvez consulter la documentation officielle, les TechDocs et Foire aux questions.

Le projet principal PostgreSQL est renforcé par plus de 100 sous-projets actifs qui fournissent des solutions de niveau professionnel pour la réplication, la migration, la compatibilité, l'interopérabilité, le design et les outils graphiques d'administration.


Projets liés : pgFoundry et GBorg

Paquets de fonctionnalités avancées :
Serveur d'informations géographiques (PostGIS)
Recherche plein texte (OpenFTS)
Business Intelligence/Data Warehousing (Bizgres)

Aller plus loin

  • # Merci pour cette news de grande qualité

    Posté par  (site web personnel) . Évalué à 7.

    Ca fait plaisir de voir la communauté francophone postgresql aussi réactive.
  • # très jolies perfs

    Posté par  (site web personnel) . Évalué à 9.

    les performances sont maintenant vraiment très satisfaisantes et on obtient à peu près à ces chiffres (non, ce n'est pas un troll ;-) ) : http://tweakers.net/reviews/657/6
    • [^] # Re: très jolies perfs

      Posté par  (site web personnel) . Évalué à 2.

      La différence avec MySQL est impressionnante aussi bien en nombre de requête maximale, qu'en tenu de charge. PostgreSQL ne s'écroule pas, c'est du beau boulot !!!
    • [^] # Re: très jolies perfs

      Posté par  (site web personnel) . Évalué à 6.

      C'est peut-être pas un troll mais c'est quand même un peu n'importe quoi. Depuis quand le goulot d'étranglement se situe au niveau de la CPU quand on a un seul disque fut-ce un raptor ? (d'ailleurs n'importe quelle base conséquente utilise du SCSI)

      Je me bat tous les jours pour que des serveurs dédiés aux SGBDR soient correctement équipés en sous-sytème disque et qu'on arrête cette course effrénée à la puissance CPU qui n'est de toutes façons jamais utilisée (au contraire de la RAM).

      Alors si je salue avec joie l'arrivée de cette magnifique version qu'est la 8.2 cela ne m'empêche pas de grogner contre ces tests stupides quand nous savons tous que c'est d'une ou de plusieurs belles piles RAID dont on a besoin. Qu'on se le dise: pour avoir de bonne perfs multipliez le nombre de disques!
      • [^] # Re: très jolies perfs

        Posté par  (site web personnel) . Évalué à 5.

        Peut-être que le goulot d'étranglement n'est pas le CPU, mais le bug des tests n'est pas de regarder ça...
        Sur différents équipements, représentés par leur CPU, MySQL et PostgreSQL ont été testés dans des conditions identiques, et tous les tests sont à l'avantage du deuxième.
        Le but n'est pas de faire une étude sur quelle partie du serveur bride les performances, mais de comparer deux SGBD entre eux !
      • [^] # Re: très jolies perfs

        Posté par  (site web personnel) . Évalué à 5.

        Salut,

        Depuis quand le goulot d'étranglement se situe au niveau de la CPU quand on a un seul disque fut-ce un raptor ?


        Depuis qu'on peut avoir une base de taille raisonnable (quelques Go), qui tient en RAM, avec assez peu d'écritures, des requêtes en lecture très complexes, une BP mémoire suffisante et que du coup le point limitant est le CPU ?

        Ce benchmark vaut ce qu'il vaut mais il est au moins représentatif d'une partie de la base installée et montre aussi que la légende de la lenteur de PostgreSQL comparé à MySQL est bien une légende, au moins dans ce cas précis de benchmark.

        Je me bat tous les jours pour que des serveurs dédiés aux SGBDR soient correctement équipés en sous-sytème disque et qu'on arrête cette course effrénée à la puissance CPU qui n'est de toutes façons jamais utilisée (au contraire de la RAM).


        Sur la première partie, on est d'accord. Sur la deuxième pas du tout. Quand tes I/O ne sont plus un point limitant (donc si le sous-sytème disque est dimensionné correctement et si la base est orienté lecture - le cas de pas mal de bases), ce sont les CPU qui deviennent la limite.

        Nous avons le cas sur au moins une de nos grosses (pas par la taille un peu > à 2 Go mais par la criticité métier et la charge) bases. Le serveur est un quadri xeon 2.2, 2 disques pour le WAL, 4 pour les données en RAID 10, 4 Go de RAM et la limite est clairement le CPU.

        Accessoirement, l'objectif de tweakers était plus de comparer des plate-formes dans une utilisation SGBD (sun, opteron, woodcrest) donc le fait de baser le benchmark sur le CPU est assez normal.

        --
        Guillaume
  • # On en a une énorme envie

    Posté par  . Évalué à 4.

    En tant qu'adepte de PostgreSQL, je ne dirai qu'une chose:

    Yeeeeeeeehhhaaa!!!! Yeepie! yeepie! yeah!
  • # Précisions

    Posté par  . Évalué à 2.

    PL/Java : un de nos deux langages procéduraux Java a atteint le statut d'utilisabilité pleine en production, ce qui permet une utilisation entière de Java au sein de la base.

    Qu'est-ce que cela veut dire ?
    On peut rajouter des types Java dans PSQL ? Comme des types Dotnet dans SQL Server2005 ?
    Ou c'est juste qu'on peut faire du JDBC ? Ce qu'on savait déjà.
    • [^] # Re: Précisions

      Posté par  . Évalué à 10.

      Ca veut dire qu'on peut écrire des procédures stockées en Java je pense
      • [^] # Re: Précisions

        Posté par  . Évalué à 6.

        Oui c'est ça, il est possible avec postgresql d'avoir plusieur langages pour les procédures stockées (embarquée).

        on a donc sql, tcl, java, perl et python sous postgresql.
    • [^] # Re: Précisions

      Posté par  . Évalué à -2.

      Ils ont tout réécrit en Java.
    • [^] # Re: Précisions

      Posté par  (site web personnel) . Évalué à 3.

      PL/Python : supporte maintenant ... les ensembles retournant des fonctions

      J'ai rien compris ou il s'agit plustôt des fonction retournant des ensemble : RETURNS SETOF ...
  • # OLAP ?

    Posté par  . Évalué à 2.

    Est ce que quelqu'un a déjà essayé de faire du OLAP avec Postgresql ?
    Si oui avec quels outils ?

    J'ai que cybertec venait de publier quelque chose soit disant en open source mais il faut bien chercher pour trouver ou le télécharger ( http://efeu.cybertec.at/ ) .
    Il y aurait aussi OpenOlap mais c'est tout en japonais ! http://sourceforge.jp/projects/openolap/
  • # Glom

    Posté par  . Évalué à 4.

    Un petit truc bien pratique pour utiliser une petite base de donnée sans faire des tonnes de développement.

    Le site : http://www.glom.org/
    Des copies d'écran et des explications : http://www.glom.org/wiki/index.php?title=Screenshots

    Sympa.
    • [^] # Re: Glom

      Posté par  (site web personnel) . Évalué à 5.

      yep c'est cool, dommage que ça n'intègre pas la gestion d'un MCD tout de même (enfin j'ai pas trouvé ni dans les fonctionnalités ni dans les copies d'écran)...

      j'avais trouvé plein d'autres outils dans le genre (enfin plein...) http://wiki.eagle-usb.org/wakka.php?wiki=ModelizationTools

      Pour glom, la petite phrase "Glom uses the PostgreSQL database backend but it can not edit databases that it did not create, because it uses only a simple subset of Postgres functionality."
      me fait un tout petit peu peur tout de même. Pas d'outils pg2glom en vue ?
      • [^] # Re: Glom

        Posté par  . Évalué à 5.

        > it can not edit databases that it did not create

        J'ai vu ça plus tard. C'est assez génant.
        Dommage car PostgreSQL a tout le nécessaire (les relations sont stockés ; plus généralement les dépendances sont toutes stockées et interrogables, etc).

        Ça me fait mal au cul de le dire, mais MS-Access (je ne parle pas de son très limité moteur de base de données) me manque énormemment sous Linux (et dans le logiciel libre en général).
        • [^] # Re: Glom

          Posté par  (site web personnel) . Évalué à 1.

          C'est normal, MS-Access est un front-end brillant avec un moteur minable. C'est comme un superbe cabriolet avec un moteur de scooter récupéré à la casse.
          Postgresql, c'est le contraire, c'est le super moteur turbo-compressé et super robuste. C'est l'équivalent d'Oracle. Ces deux SGBD de haut de gamme n'ont pas pour but de faire des IHM performantes, il existe d'autres outils pour cela.
          • [^] # Re: Glom

            Posté par  . Évalué à 0.

            > Ces deux SGBD de haut de gamme n'ont pas pour but de faire des IHM performantes

            Certes. Mais je te fais une IHM pour base de donnée en deux coups de cuillère à pot avec Access. Il va de soit que si je peux j'utilise PostgreSQL comme moteur de base de données. Ce qui a l'avantage de nécessité moins de VB côté MS-Access et de bien séparer les domaines (IHM / gestion des données).
            Je ne dis pas que MS-Access est mieux que PostgreSQL, les deux ne jouent pas dans la même cours. Mais que la partie IHM de MS-Access fait cruellement défaut aux logiciels libres.
    • [^] # Re: Glom

      Posté par  . Évalué à 2.

      Des copies d'écran et des explications : http://www.glom.org/wiki/index.php?title=Screenshots
      Ca me fait beaucoup penser au DBMS/Frontend (rayez la mention inutile) d'une suite bureautique propriétaire bien connue... pour le meilleur et pour le pire.
    • [^] # Re: Glom

      Posté par  . Évalué à 2.

      Il y a aussi Kexi (http://www.kexi-project.org/about.html) qui se veut le MS Access du libre, qui utilise SQLite par défaut mais peut aussi attaquer du PostgreSQL, du MySQL ou même du... Access.
      • [^] # Re: Glom

        Posté par  . Évalué à 2.

        Ça a l'air bien cool. Merci pour l'info.

Suivre le flux des commentaires

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