1. Le concept de Persistance Polyglotte (Polyglot Persistence)

Théorisée par Martin Fowler, la persistance polyglotte consiste à abandonner l’illusion qu’un moteur de base de données unique peut résoudre idéalement tous les besoins d’une entreprise. Au contraire, chaque composant applicatif choisit la technologie de stockage qui résout au mieux ses exigences spécifiques.

2. Architecture type d’une plateforme moderne de services

  • PostgreSQL : Cœur transactionnel, comptabilité, facturation, gestion des utilisateurs, conformité juridique nLPD et intégrité référentielle stricte.
  • MongoDB : Catalogue de produits aux spécifications hétérogènes (moteur e-commerce), logs d’événements et contenu éditorial CMS.
  • Redis : Cache de sessions utilisateurs en mémoire, limitation de débit d’API (Rate Limiting), classements en temps réel et files d’attente de messages.
  • Elasticsearch / Meilisearch : Indexation inversée et moteur de recherche textuelle avec correction orthographique tolérante aux fautes.

3. La puissance hybride native de PostgreSQL avec JSONB

PostgreSQL propose le type de colonne JSONB (JSON binaire décomposé). Il permet de combiner la rigueur des clés primaires et jointures relationnelles avec la flexibilité d’un schéma documentaire NoSQL indexable via GIN :

-- Requête relationnelle filtrant un attribut à l'intérieur d'un document JSONB imbriqué
SELECT client_id, nom, metadonnees_profil->>'preference_langue' AS langue
FROM clients
WHERE metadonnees_profil @> '{"abonne_newsletter": true}';

Cette approche hybride permet bien souvent aux équipes de bénéficier du meilleur des deux mondes sans la complexité d’exploitation de multiples serveurs séparés.