Aller au contenu
Architecture

Multi-tenant : une base par client, ou une base pour tous ?

Multi-tenant : une base par client, ou une base pour tous ?

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.