IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

PostgreSQL 18 est disponible, la dernière version de la base de données open source apporte un sous-système d'entrée/sortie asynchrone, des améliorations de performances et la prise en charge d'OAuth

Le , par Anthony

287PARTAGES

18  0 
PostgreSQL 18 est disponible, introduisant un sous-système d'entrée/sortie (E/S) asynchrone qui améliore les performances dans des opérations clés telles que les analyses séquentielles et bitmap heap ainsi que les processus de nettoyage, avec des benchmarks montrant des gains de vitesse pouvant atteindre trois fois plus. Cette version apporte également la conservation des statistiques du planificateur lors des mises à niveau majeures, des améliorations de pg_upgrade, des capacités de « skip scan » aux index B-tree multicolonnes, l'authentification OAuth 2.0 intégrée et de nombreuses autres améliorations.

PostgreSQL, également connu sous le nom de Postgres, est un système de gestion de base de données relationnelle (SGBDR) libre et open source qui met l'accent sur l'extensibilité et la conformité SQL. PostgreSQL offre des transactions avec des propriétés d'atomicité, de cohérence, d'isolation et de durabilité (ACID), des vues automatiquement actualisables, des vues matérialisées, des déclencheurs, des clés étrangères et des procédures stockées. PostgreSQL est pris en charge par tous les principaux systèmes d'exploitation, notamment Windows, Linux, macOS, FreeBSD et OpenBSD, et gère toute une gamme de charges de travail, des machines individuelles aux entrepôts de données, en passant par les lacs de données ou les services web avec de nombreux utilisateurs simultanés.


PostgreSQL 18 : les principales nouveautés en bref

PostgreSQL 18 vient de sortir en tant que nouvelle version de cette base de données relationnelle objet open source. Cette version introduit un sous-système d'entrée/sortie (E/S) asynchrone qui améliore les performances pour les opérations clés, notamment les analyses séquentielles et bitmap heap, ainsi que les processus de nettoyage. Les tests de performance démontrent des performances jusqu'à trois fois plus rapides dans certains scénarios.

Suite à ces modifications fondamentales du moteur, PostgreSQL 18 peut désormais conserver les statistiques du planificateur lors des mises à niveau majeures, ce qui permet aux clusters de retrouver plus rapidement les niveaux de performances attendus après une mise à jour. L'utilitaire pg_upgrade a bénéficié de plusieurs améliorations, ce qui réduit les temps de mise à niveau, en particulier pour les bases de données comportant de nombreuses tables et séquences.

PostgreSQL 18 ajoute également des capacités de « skip scan » aux index B-tree multicolonnes, ce qui permet à davantage de requêtes de tirer parti des index et de bénéficier d'une exécution plus rapide lorsque les colonnes préfixées ne présentent pas de conditions d'égalité ou lorsque certaines combinaisons OR sont utilisées dans les clauses WHERE.

S'appuyant sur les progrès réalisés en matière de gestion des données, cette version fait des colonnes virtuelles générées la valeur par défaut, calcule leurs valeurs au moment de la requête et permet la réplication logique des colonnes générées stockées. De plus, les développeurs peuvent désormais accéder aux valeurs des lignes précédentes et nouvelles à l'aide des clauses RETURNING pour les instructions INSERT, UPDATE, DELETE et MERGE.

Parmi les autres modifications, on peut citer la prise en charge de la génération uuidv7() ordonnée par horodatage, un traitement de texte plus simple et plus rapide, l'authentification OAuth 2.0 intégrée, l'amélioration de la journalisation des conflits de réplication logique, une stratégie de nettoyage proactive et l'activation par défaut des sommes de contrôle des pages pour les nouvelles bases de données. Bien évidemment, plusieurs autres améliorations sont également incluses dans cette version.

Présentation du sous-système d'E/S asynchrone

PostgreSQL s'appuyait auparavant sur les mécanismes de prélecture du système d'exploitation pour accélérer la récupération des données. Cependant, comme les systèmes d'exploitation ne disposent pas d'informations sur les modèles d'accès spécifiques aux bases de données, ils ne peuvent pas toujours anticiper les données qui seront nécessaires, ce qui entraîne des performances sous-optimales dans de nombreuses charges de travail.

PostgreSQL 18 introduit un nouveau sous-système d'E/S asynchrones (AIO) conçu pour pallier cette limitation. L'AIO permet à PostgreSQL d'émettre plusieurs requêtes d'E/S simultanément au lieu d'attendre que chacune d'entre elles se termine dans l'ordre. Cela élargit la lecture anticipée existante et améliore le débit global. Les opérations AIO prises en charge dans PostgreSQL 18 comprennent les analyses séquentielles, les analyses de tas bitmap et le nettoyage. Les tests de performance ont démontré des gains de performance pouvant atteindre 3 fois dans certains scénarios.

Le nouveau paramètre io_method vous permet de basculer entre les méthodes AIO, notamment worker et io_uring, ou vous pouvez choisir de conserver le comportement actuel de PostgreSQL avec le paramètre sync.

Mises à niveau plus rapides, meilleures performances après la mise à niveau

Une fonctionnalité clé de PostgreSQL est la génération et le stockage de statistiques qui aident PostgreSQL à sélectionner le plan de requête le plus efficace. Avant PostgreSQL 18, ces statistiques n'étaient pas conservées lors d'une mise à niveau majeure, ce qui pouvait entraîner une dégradation significative des performances des requêtes sur les systèmes très sollicités jusqu'à la fin de l'exécution de ANALYZE. PostgreSQL 18 introduit la possibilité de conserver les statistiques du planificateur lors d'une mise à niveau majeure, ce qui aide un cluster mis à niveau à atteindre plus rapidement les performances attendues après la mise à niveau.

De plus, pg_upgrade, un utilitaire qui effectue les mises à niveau majeures, comprend plusieurs améliorations dans PostgreSQL 18, telles que des mises à niveau plus rapides...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !