Multi-tenant : une base par client, ou une base pour tous ?
Publié le 11 septembre 2023 · Mis à jour le 11 septembre 2023
La question se pose dès la première plateforme SaaS. J'ai testé les deux approches sur des projets réels — voici ce qui a pesé dans la décision.
Base partagée
Une colonne tenant_id partout, filtrée systématiquement. Simple à déployer, économique, mais une erreur de filtre expose les données d'un autre client. La discipline doit être absolue.
Base par client
Isolation forte, sauvegardes et restaurations indépendantes. En contrepartie : les migrations se multiplient et l'hébergement mutualisé montre vite ses limites.
Mon choix
Base partagée avec un filtre appliqué au niveau du modèle — jamais dans le contrôleur. La règle est écrite une fois, on ne peut pas l'oublier.