La base de données PostgreSQL

Logo PostgreSQL

Version de PostgreSQL

Dans le développement de nos applications, certaines données sont stockés au format JSON dans la base de données. La version PostgreSQL v13 est généralement recommandée pour supporter la conversion JSON des dates.

Indexation des tables

Les tables sont généralement indexés permettant d'assurer la sélection rapide des informations.

Solution ORM (Object Relationship management)

Les données sont accédés avec la solution Hibernate permettant la relation entre les objets manipulés en java dans l'application et les tables dans PostgreSQL. Hibernate génére les requêtes SQL suivant les relations. Des requêtes natives SQL sont également utilisées dans le cas de certains optimisations.

Gestion des versions

Chaque déploiement d'un nouveau schéma de base de données est réalisé avec une gestion de version permettant d'identifier la version de la base de données et la version de l'application. Ce système qui s'appuie sur la solution open source Liquibase diminue les risques d'incidents et les difficultés de montée de version.

Utilisation d'identifiant unique

Pour permettre aux applications une montée en charge, les identifiants des tables sont systématiques réalisés avec un UUID. UUID est un identifiant hexadécimal sur 32 bits qui a une très basse probabilité d'être présent plusieurs fois dans une table. Il a aussi pour avantage d'être difficile à deviner, ce qui rend plus difficile les attaques. Par contre les colonnes avec les identifiants UUID ne sont pas triables comme avec un numerique et il est nécessaire d'avoir une autre colonne pour réaliser des tris.