PostgreSQL 17 publié avec un processus de vide amélioré et des gains de performances
Le PostgreSQL Global Development Group a récemment annoncé la disponibilité générale de PostgreSQL 17la dernière version de la base de données open source populaire. Cette version se concentre sur l’amélioration des performances, notamment une nouvelle implémentation de gestion de la mémoire pour le vide, des optimisations de l’accès au stockage et des améliorations pour les charges de travail à haute concurrence.
Alors que la dernière AG Cette version inclut des améliorations générales des performances des requêtes et ajoute plus de flexibilité à la gestion des partitions. De nombreux administrateurs de bases de données ont mis en évidence les mises à jour de l’aspiration, qui réduisent l’utilisation de la mémoire, améliorent le temps d’aspiration et affichent la progression de l’aspiration des index. Passer l’aspirateur est une opération visant à récupérer l’espace de stockage occupé par des données qui ne sont plus nécessaires. Les opérations VACUUM plus efficaces dans PostgreSQL 17 ont été rendues possibles grâce à la nouvelle structure de données, TidStore, qui stocke les ID de tuple pendant les opérations VACUUM. L’équipe explique :
Le processus de vide PostgreSQL est essentiel au bon fonctionnement des opérations, car il nécessite des ressources d’instance de serveur pour fonctionner. PostgreSQL 17 introduit une nouvelle structure de mémoire interne pour le vide qui consomme jusqu’à 20 fois moins de mémoire. Cela améliore la vitesse du vide et réduit également l’utilisation de ressources partagées, ce qui en rend plus disponible pour votre charge de travail.
PostgreSQL 17 introduit des améliorations dans la réplication logique, simplifiant la gestion des charges de travail à haute disponibilité et les mises à niveau majeures des versions du moteur en éliminant le besoin de supprimer les emplacements de réplication logique. D’autres améliorations récentes incluent des performances d’E/S améliorées pour les charges de travail qui lisent plusieurs blocs consécutifs, une prise en charge améliorée d’EXPLAIN et une meilleure gestion du SI. [NOT] Conditions NULLES.
Bien que la liste des améliorations soit substantielle, il manque peut-être à la version une nouvelle fonctionnalité remarquable. Laurenz Albe, consultant senior et ingénieur support chez CYBERTEC, écrit:
Ce n’est pas parce que PostgreSQL a perdu de son élan : en fait, il y a aujourd’hui plus de contributeurs que jamais auparavant (…) De nombreuses personnes intelligentes ont contribué à de grandes choses au fil des ans. La plupart des améliorations faciles et évidentes (et certaines difficiles !) ont déjà été apportées. Les fonctionnalités manquantes restantes sont les plus difficiles.
La nouvelle version prend en charge l’option JSON_TABLE, qui permet de gérer les données JSON parallèlement aux données SQL classiques. Semblable à MySQL, JSON_TABLE() est une fonction SQL/JSON qui interroge les données JSON et présente les résultats sous forme de vue relationnelle.
SELECT *
FROM json_table(
'[
{"name": "Alice", "salary": 50000},
{"name": "Bob", "salary": 60000}
]',
'$[*]'
COLUMNS (
name TEXT PATH '$.name',
salary INT PATH '$.salary'
)
) AS employee;
Source : blog Google
Dave Stokesévangéliste technologique chez Percona et auteur de MySQL & JSON, écrit:
JSON_TABLE() est un excellent ajout à PostgreSQL 17. Ceux d’entre nous qui traitent de nombreuses données au format JSON en feront un usage intensif.
Mehdi Ouazza, ingénieur de données et défenseur des développeurs chez MotherDuck, remarques:
La dernière version de PostgreSQL 17 a tué silencieusement NoSQL, alias les bases de données de stockage de documents. Les bases de données de magasins de documents étaient populaires il y a quelques années avec l’explosion des applications Web et des API (grâce à REST) et l’utilisation du format JSON.
La commande MERGE est un autre ajout, permettant aux développeurs d’effectuer des mises à jour, des insertions ou des suppressions conditionnelles dans une seule instruction SQL. Cela simplifie la manipulation des données et améliore les performances en réduisant le nombre de requêtes. Sur un populaire Fil de discussion Redditutilisateur Bon Dieu__ commentaires:
Postgres parvient à franchir la ligne consistant à faire un peu de tout et, d’une manière ou d’une autre, se range toujours du côté du fait de le faire de manière géniale, ce qui est extrêmement rare.
Les fournisseurs de cloud ont déjà commencé à prendre en charge la dernière version de base de données relationnelle open source populaire. Amazon RDS l’a disponible dans le environnement en avant-première depuis mai dernieret Cloud SQL, le service géré sur Google Cloud, a récemment annoncé prise en charge complète de toutes les fonctionnalités de PostgreSQL 17.
Toutes les corrections de bogues et améliorations de PostgreSQL 17 sont détaillées dans le notes de version.