Ich habe ein System mit dem größten Teil von tausend Datenbanken betrieben, die auf mehrere Server verteilt waren. Sie waren alle identisch aufgebaut und wurden mit einer Vorlagendatenbank synchronisiert, die sich auf jeder Maschine befand.
Auf diese Weise konnte ich Datenbanken von einer Datenbank auf eine andere migrieren, wenn diese überlastet war. Da sich der Client-Mix änderte, konnte ich neue Datenbanken auf verschiedenen Servern erstellen, um den Lastenausgleich zwischen den Servern zu gewährleisten. Dies war der größte Vorteil, den ich durch das System erhalten habe, da ich mehrere große Blechklumpen hatte, die gleichzeitig mehrere komplizierte Abfragen auf den separaten Servern ausführten.
Das Tolle daran ist, dass Sie die Konfiguration mit Ihrer eigenen Geschwindigkeit um Server erweitern können, da jeder Server überlastet wird, einen anderen Server in die Mischung einfügt, einige DBs auf den neuen Server migriert und einen guten Server erhält Server mit Lastenausgleich. Eine wirklich schöne und einfache Möglichkeit, das System nach Bedarf zu skalieren!
Der Grund, warum ich mich für diesen Ansatz entschieden habe und nicht für den Ansatz einer einzelnen riesigen Datenbank, war die schiere Größe der potenziellen Datenbank, die erstellt worden wäre. Jede der 1000 Datenbanken hatte 200 Tabellen und viele der einzelnen Tabellen in jeder der Datenbanken Datenbanken umfassten viele Hundert Millionen Datenzeilen!
Für eine einzelne Datenbankkonfiguration wären für bestimmte Tabellen (ca. 8 davon) mehrere Milliarden Datenzeilen erforderlich, und die Gesamtgröße der Datenbank hätte mehr als 10 TB betragen. Wir konnten mehrere Server mit 5 TB RAID 10-Speicher mit jeweils vielen Datenbanken einrichten.
Das würde ich tun! Hoffe es hilft dir bei deiner Entscheidung ... :)