Postgresql 9.1

Posté par  (site web personnel) . Modéré par Bruno Michel. Licence CC By‑SA.
45
12
sept.
2011
Base de données

Postgresql, le moteur de base de données le plus avancé du monde libre vient de sortir en version 9.1. Contrairement à d'autres bases de données libres, Postgresql est développé par une communauté mondiale d'entreprises et de contributeurs indépendants.

Les nouveautés de cette version sont détaillées en seconde partie.

Réplication

  • Réplication synchrone : le maître ne valide la transaction que si les esclaves sont à jour
  • Ajout de logiciel de clonage de base de cluster : pg_basebackup
  • Ajout des vues pg_stat_replication / pg_stat_database_conflict pour surveiller le système de réplication
  • Les esclaves peuvent être mis en "pause"

SQL/MED

  • Management of External Data (MED) permet d'ajouter des tables externes au cluster. L'extension "file_fdw" (gestion des fichiers CSV) est fournie, mais il en existe d'autres sur PGXN

Tables non journalisées

  • Il est maintenant possible de créer des tables « Unlogged », les actions effectuées sur ces tables (insert, update, delete), ne sont pas enregistrées dans les journaux de transactions. En cas d'arrêt brutal de la base, les tables non journalisées sont vidées au démarrage.

PGXN

  • PostgreSQL Extension Network est un système de distribution centralisé pour les modules d'extensions de Postgresql.

Extensions

  • Ajout de la commande "CREATE EXTENSION" qui permet de créer et d'ajouter des extensions à une base de données

SELinux

  • PostgreSQL est la seule base qui propose une intégration complète avec le framework de sécurisation SELinux

Et plus Encore

  • SSI (Serializable Snapshot Isolation), cela permet d'avoir le même comportement que l'exécution en série des transactions sans perdre autant de performance ;
  • WCTE (Writeable Common Table Expressions) en écriture ;
  • Amélioration des performances (tables héritées, écritures synchrones…)

Pour plus de détails, allez visiter le lien ->4<- (Wiki) dont cette dépêche est (honteusement) inspirée !

Aller plus loin

  • # Exemple avec SELinux

    Posté par  . Évalué à 10.

    L'utilisation de sepgsql permet des choses assez rigolotes, comme indiqué dans la documentation http://www.postgresql.org/docs/9.1/static/sepgsql.html

    Dans l'exemple, une table contient des numéros de carte bleue. Et seules les procédures avec un label SELinux adéquat peuvent accéder aux données…
    Après ce support n'est pas encore complet, la granularité ne se fait pas encore au niveau des enregistrements dans les tables… mais ça ne saurait tarder :)

  • # Réplication synchrone

    Posté par  . Évalué à 7.

    Il me semble (d'après http://www.postgresql.org/docs/9.1/static/warm-standby.html#SYNCHRONOUS-REPLICATION), que le maitre valide la transaction dès qu'un esclave est à jour et non pas dès que tous les esclaves sont à jour comme indiqué dans la dépêche.

    Ceci permet de s'assurer que si la maitre tombe, la transaction existe quand même ailleurs en au moins un exemplaire. Ce qui permet d'avoir un compromis entre performance et fiabilité.

  • # OLAP

    Posté par  . Évalué à 0.

    Dommage qu'il n'y ai rien de nouveau autour d'OLAP …

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

Suivre le flux des commentaires

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