Dans une base de données centrée sur l'application qui est conçu pour de multiples clients, j'ai toujours pensé que c'était "mieux" pour utiliser une base de données unique pour TOUS les clients - associe dans ce cas des dossiers avec un bon index et les clés. En écoutant le Débordement de Pile podcast, j'ai entendu Joel mentionner que FogBugz utilise une base de données par client (donc si il y avait 1000 clients, il n'y aurait 1000 bases de données). Quels sont les avantages de l'utilisation de cette architecture?
Je comprends que, pour certains projets, les clients ont besoin d'un accès direct à l'ensemble de leurs données dans une application, il est évident que chaque client a besoin de leur propre base de données. Toutefois, pour les projets où un client n'a pas besoin d'accéder à la base de données directement, existe-il des avantages à utiliser une base de données par client? Il semble qu'en termes de flexibilité, il est beaucoup plus simple d'utiliser une base de données unique avec un seul exemplaire de la tables. Il est plus facile d'ajouter de nouvelles fonctionnalités, il est plus facile de créer des rapports, et c'est plus facile à gérer.
J'étais assez confiant dans le "une base de données pour tous les clients" méthode jusqu'à ce que j'ai entendu Joel (un développeur expérimenté) mentionnent que son logiciel utilise une approche différente, et je suis un peu confus avec sa décision...
J'ai entendu des gens citer que les bases de données de ralentir avec un grand nombre de documents, mais aucune base de données relationnelles avec certains de mérite n'allez pas avoir ce problème, en particulier si bon index et les clés sont utilisés.
Toute contribution est grandement appréciée!