Aller au contenu
Propul group

Technologies / PostgreSQL

PostgreSQL

Base de données

Base relationnelle qui tient les règles d'intégrité au niveau des données, là où elles ne dépendent plus du code qui les écrit.

CoûtLibre, sans licence. Le coût est celui de l'hébergement et des sauvegardes.
UsageLogiciels métier · Isolation multi-organisations · Tableaux de bord lus à la source · Catalogues e-commerce
MaintenanceMigrations versionnées et rejouables, sauvegardes testées par restauration réelle. Une sauvegarde jamais restaurée n'est pas une sauvegarde.

Quand nous la choisissons

  • Données comptables ou contractuelles, où une incohérence est une faute.
  • Besoins de recherche, de contraintes et de transactions dans le même système.
  • Produits multi-organisations où l'isolation doit se déclarer dans la base.

Quand envisager une autre approche

  • Volumes de journaux bruts, mieux servis par un stockage prévu pour cela.
  • Un schéma qui change chaque semaine sans discipline de migration.
  • Un cache de session, qui relève d'un magasin en mémoire.

Fiche technique

Architecture et exploitation

ArchitectureLes règles d'intégrité et d'accès vivent dans la base : clés étrangères, contraintes de domaine, et cloisonnement au niveau des lignes. Une application qui oublie une vérification ne peut pas produire une donnée invalide.
CoûtLibre, sans licence. Le coût est celui de l'hébergement et des sauvegardes.
SécuritéLe cloisonnement au niveau des lignes permet de déclarer l'isolation là où elle s'applique quel que soit le chemin d'accès. C'est le seul niveau où l'oubli d'un développeur ne devient pas une fuite.
MaintenanceMigrations versionnées et rejouables, sauvegardes testées par restauration réelle. Une sauvegarde jamais restaurée n'est pas une sauvegarde.
Cas d’usageLogiciels métier · Isolation multi-organisations · Tableaux de bord lus à la source · Catalogues e-commerce
Les alternatives : MySQL, ou une base documentaire

Une base documentaire convient quand la structure varie fortement d'un enregistrement à l'autre et que les jointures sont rares.

Questions

Préparer le choix.

Faut-il une base par client pour un SaaS ?

Rarement. Une base commune avec cloisonnement au niveau des lignes couvre la majorité des cas et coûte beaucoup moins cher à exploiter.

Comment gérez-vous les migrations ?

Versionnées, rejouables, et testées sur une copie de production avant d'être appliquées.

Les autres fiches

Comprendre les choix qui se complètent.

Partons de votre usage.

Le choix technique vient soutenir votre projet, ses contraintes et son évolution.

Parlons de votre projet