Max Tabele i wzór projektu

Obecnie pracuję nad aplikacją, która ma potencjał, by rosnąć dość obszernie. Cała aplikacja działa w pojedynczej domenie, a klienci otrzymują subdomeny, co oznacza, że ​​wszystko to oczywiście odbywa się za pośrednictwem wspólnej bazy kodu.

To, z czym walczę, to projekt bazy danych. Nie jestem pewien, czy lepiej byłoby mieć kolumnę w każdej tabeli określającą identyfikator klienta lub utworzyć nowy zestaw tabel (w tej samej bazie danych) lub utworzyć kompletną nową bazę danych dla każdego klienta.

Miłą cechą „flagi” w bazie danych określającej identyfikator klienta jest to, że wszystko znajduje się w jednej lokalizacji. Spadki są oczywiste - tabele mogą stać się ogromne, a konserwacja może stać się kompletnym koszmarem. Jeśli dojdzie do wzrostu, podzielenie go na kilka serwerów będzie ogromnym bólem.

Miłą rzeczą w tworzeniu nowych tabel jest to, że jest to łatwe, a także sprawia, że ​​stoły są niewielkie. A ponieważ dane klientów nie wymagają interakcji, nie ma tam żadnych problemów. Ale znowu, konserwacja może stać się problemem (chociaż mam bibliotekę migracji, która będzie aktualizować w locie na klienta, więc to nic wielkiego). Inną kwestią jest to, że nie mam pojęcia, ile tabel może znajdować się w jednej bazie danych. Czy ktoś wie, jaki jest limit i jakie będą problemy z wydajnością?

Dobrą rzeczą w tworzeniu nowej bazy danych dla każdego klienta jest to, że gdy będę musiał skalować, będę w stanie całkiem dobrze. Istnieje kilka witryn, które korzystają z tego projektu (wordpress.com itp.). Okazało się, że jest skuteczny, ale ma też pewne upadki.

Po prostu szukam rady, w którą stronę powinienem iść.

questionAnswers(5)

yourAnswerToTheQuestion