Ich entwickle eine benutzerdefinierte CRM-Lösung, die über das Web/SaaS-Modell verkauft wird. Ich erwarte Zehner oder Hunderte von Kunden, die diese Lösung verwenden. Ich werde MS SQL als db-Engine verwenden.MultiTenant im Vergleich zu mehreren DBs
Option 1 besteht darin, einen einzelnen DB zu haben und eine TenantId-Spalte in Tabellen, einen geeigneten Index und die Verwendung von 'wo tenantId = {...}' für jeden Datenbankzugriff zu verwenden.
Option 2 besteht darin, für jeden Client eine eigene DB zu erstellen, wodurch die Klauseln TenantId und Where vermieden werden.
Ich gehe davon aus, dass jeder Client Hunderttausende Datensätze haben wird, nicht Millionen.
Wie ich es sehe, wird es eine Gesamtzahl von Datenseiten geben, für welche Option ich auch gehe. Die Entscheidung scheint zentriert zu sein, ob SQL besser in der Lage ist, mehrere DBs oder eine einzelne DB mit TenantId und Index zu verwalten. Anfänglich wird die Lösung auf einem einzelnen DB-Server ausgeführt, wechselt jedoch letztendlich zu SAN.
Hat jemand irgendwelche Ansichten dazu?
Welche Methode haben Sie am Ende und warum? –