En adoptant le format d'échange de données populaire JSON, la nouvelle version de la base de données Open Source PostgreSQL s'attaque au florissant marché des bases de données non relationnelles NoSQL, et en particulier à MongoDB. La première version bêta de PostgreSQL 9.4, livrée jeudi, comprend un certain nombre de fonctionnalités qui répondent au dynamique marché des applications web. Beaucoup de ces applications récupèrent de grandes quantités de données utilisateur et ont besoin d'une solution de stockage rapide.
De façon générale, les bases de données NoSQL, qui ont été conçues pour ces charges de travail, ont attiré beaucoup d'utilisateurs. Aujourd'hui, la communauté de développeurs derrière PostgreSQL veut aussi répondre à ces contraintes. En particulier, PostgreSQL 9.4 supporte le format JSON (JavaScript Simple Object Notation) en natif, lequel fait de plus en plus référence pour partager des données entre différents systèmes, en passant souvent par le protocole REST (Representational State Transfer Protocol). Le succès de la base de données orientée documents MongoDB vient en grande partie de l'utilisation croissante de JSON.
PostgreSQL enrichit d'une API décodant les données à partir d'un flux de réplication
Le format structuré JSONB adopté par PostgreSQL pour sauvegarder en JSON permet de ne pas restructurer un document avant qu'il ne soit affecté à la base de données. Grâce à ce processus, PostgreSQL peut ingérer des documents aussi rapidement que MongoDB, tout en conservant la compatibilité ACID - atomicité, cohérence, isolation, durabilité - requise pour stocker des données de manière fiable dans les bases de données. PostgreSQL fournit également un ensemble complet de solutions d'indexation, plus des fonctions et des opérateurs pour manipuler les données JSON. Les versions antérieures de PostGreSQL prenaient déjà en charge le JSON, mais les documents étaient conservés dans un format texte plus long à stocker et moins rapide pour récupérer les données.
En plus du support natif du format JSON, PostgreSQL s'enrichit d'un certain nombre de fonctionnalités. Par exemple, il comporte une nouvelle API capable de décoder les données à partir d'un flux de réplication, que des fournisseurs de logiciels tiers pourront utiliser pour proposer des systèmes de réplication plus réactifs. Une nouvelle fonction « d'actualisation simultanée » apparaît dans les Materialized Views. Elle permet de générer des rapports synthétiques actualisables à la volée. Grâce à une nouvelle fonction Alter System Set, les administrateurs peuvent désormais modifier le fichier de configuration de PostgreSQL directement à partir de la ligne de commande SQL. La nouvelle version propose également un « backgroundworker » dynamique pour le multi-threading, des fonctions de manipulation de tableau et de table. La base profite aussi d'améliorations globales de la performance.
PostgreSQL est la seconde base de données Open Source la plus utilisée du marché, derrière MySQL. Certains utilisateurs ont d'ailleurs migré de MySQL vers PostgreSQL depuis que cette dernière est tombée dans l'escarcelle d'Oracle lors de l'acquisition de Sun Microsystems en 2010. Comme PostgreSQL, MySQL a évolué pour gérer les charges de travail NoSQL. EnterpriseDB vend une distribution de la base de données Open Source PostgreSQL avec support technique.