C’est la première question que nous posons dans tout audit de plateforme multi-tenant, et c’est presque toujours celle à laquelle personne n’a réfléchi.
Les deux modèles
Schéma partagé : une seule base, une colonne tenant_id sur chaque table. Rapide à construire, simple à migrer, économique à héberger.
Isolation par client : une base ou un schéma par client. Plus lourd à orchestrer, mais une requête mal filtrée ne peut pas exposer les données d’un autre client.
Le vrai critère n’est pas technique
Il est commercial. Si vous vendez à des restaurants indépendants, le schéma partagé suffit. Si vous visez des groupes hôteliers, des cliniques ou toute organisation qui a un service juridique, la question de l’isolation arrivera dans le premier appel — et une réponse hésitante coûte le contrat.
Le coût de changer d’avis
Migrer vingt clients d’un schéma partagé vers des bases isolées implique de réécrire la couche de connexion, de reconstruire les migrations, de rejouer les données client par client, et d’accepter une fenêtre d’indisponibilité par client. Sur nos estimations, cela dépasse le coût total du développement initial.
Notre position
Nous posons la question du profil client cible avant d’écrire le schéma. Si la réponse est incertaine, nous construisons la couche d’accès aux données de manière à ce que la stratégie de connexion soit remplaçable — plus lent de quelques jours, mais cela préserve l’option.
