Wir haben eine Reihe von Kunden, deren Systeme einige Funktionen gemeinsam haben, aber auch ein gewisses Maß an Vielfalt aufweisen. Die Zahl der Kunden wächst - immer eine gesunde Sache! - und auch die Vielfalt zwischen ihren Unternehmen nimmt zu.
Derzeit gibt es eine einzige ASP.Net-Website (Web Forms) (im Gegensatz zu einem Webprojekt), die Unterordner für jeden Mandanten enthält und die nicht standardmäßigen Seiten dieses Mandanten enthält. Es gibt ein separates Modellprojekt, das sich mit dem Datenbankzugriff und der Geschäftslogik befasst.
Was ist vorzuziehen - und am wichtigsten, warum - zwischen (a) 1 Datenbank pro Client mit nur den Funktionen, die mit diesem Client verbunden sind; oder (b) eine einzelne Datenbank, die von allen Clients gemeinsam genutzt wird, wobei nur eine Teilmenge von Tabellen von einem Client verwendet wird.
Die Hauptanliegen innerhalb des Geschäfts sind erledigt:
- Wartung mehrerer Assets - Backups, Versionskontrolle und dergleichen
- Förderung der Wiederverwendung so weit wie möglich
Wie würden Sie sicherstellen, dass diese Bedenken ausgeräumt werden, welche Lösung ist vorzuziehen und warum? (Ich habe auch Antworten auf ähnliche Fragen zusammengestellt.)