W mojej poprzedniej pracy hostowaliśmy nie tylko jedną bazę danych na klienta - w większości przypadków było to coś więcej! Kiedy wyszedłem, w jednym klastrze MariaDB działało ponad 4500 baz danych, prawie 7000 w innym (ironicznie mniejszym) klastrze i 4 „odłamki” (całkowicie oddzielne, niezależne serwery sieciowe i bazy danych, nawet w całkowicie oddzielnym centrum danych), każdy hostujący 200-500 baz danych na jednym serwerze MySQL. I ta firma wciąż rośnie w dobrym stanie.
Długa i krótka jest to, że sukces tej firmy dowodzi, że taka architektura jest rzeczywiście wykonalna. (Zastrzeżenie: W przeciwieństwie do pozornych korzyści w izolacji dzięki zastosowaniu osobnych baz danych, dostęp do wszystkich danych uzyskano dzięki trzem ściśle powiązanych aplikacjom, z których wszystkie korzystały z tego samego użytkownika bazy danych / przepustki! Podejrzewam, że wydajność mogłaby ulec nieznacznemu pogorszeniu, gdyby każdy klient miał osobnego użytkownika / przepustkę - ale tylko nieznacznie.)
Z moich doświadczeń ścisłej współpracy z administratorami sys (technicznie rzecz biorąc, byłem programistą w firmie, ale w rzeczywistości byłem najlepszym DBA, jaki mieli, i jedyną osobą, która wiedziała, jak skonfigurować zaporę ogniową!), Związane z wydajnością dotyczy sprowadzonych do współbieżnych dostępów, złożoności / czasu zapytania, wydajności indeksu itp. - innymi słowy, wszyscy zwykli podejrzani, innymi słowy, i liczba baz danych na serwerze nie odgrywała żadnej widocznej roli, wniosek potwierdzony przez wysoko opłacanego specjalistę konsultanci konsultowaliśmy się regularnie.
Najważniejsze jest to, że powinieneś skupić się na swojej aplikacji, na infrastrukturze, a nie na liczbie posiadanych baz danych. Wszystkie pozostałe czynniki będą wystarczające, abyś był zajęty rozwiązywaniem problemów z wydajnością i wąskich gardeł.