Zbudowałem tę aplikację internetową (php i mysql), która przechowuje informacje dla różnych organizacji (obecnie około 20 klientów).
Bieżący scenariusz przechowuje informacje związane z klientem w poszczególnych bazach danych, więc istnieje 20 baz danych klientów i 1 główna baza danych.
Jedną z głównych zalet jest to, że ponieważ każda baza danych klienta jest izolowana, numeracja artefaktów klienta (raporty, audyty) itp. Jest sekwencjonowana; dając naszym klientom poczucie bezpieczeństwa.
Każdy DB ma w przybliżeniu 15 tabel, a najwięcej wierszy w tabeli ma około 2000. Oczekuje się, że zostanie to maksymalnie zwiększone do 5000 rekordów.
Zarządzanie pojedynczą zmianą poziomu db oznacza zmianę 20 baz danych, ale w rzadkich przypadkach, gdy muszę wprowadzić taką zmianę, używam skryptu, który robi to w pojedynczym wywołaniu funkcji.
Jesteśmy na wspólnej platformie hostingowej, a nasz dostawca usług internetowych zapewnia nam ograniczoną liczbę nie. baz danych; i to właśnie skłoniło mnie do myślenia o scentralizowaniu bazy danych; aby WSZYSTKIE dane klienta mogły być przechowywane w głównej bazie danych.
Oczywiście pojawiają się następujące ważne kwestie:
za. Utrzymanie sekwencji artefaktów (można to rozwiązać, tworząc dodatkowy klucz referencyjny) b. Szybkość i wydajność (w takim przypadku mogę tworzyć indeksy w celu przyspieszenia rzeczy) c. Bezpieczeństwo: będzie zarządzany jako każde zapytanie, które pobiera informacje o kliencie. będzie również śledzić ich identyfikator_ klienta
W przyszłości być może będziemy musieli rozważyć porównanie zestawów danych jednej organizacji z inną, ale uważam, że można to osiągnąć również w scentralizowanym pliku danych. Jestem nieco skłonny (ze względu na wydajność i łatwość konserwacji) do przejścia do scentralizowanej bazy danych.
Czy uważasz, że przejście do scentralizowanej bazy danych ma większy sens niż pozostanie takim, jakim jesteśmy (w poszczególnych bazach danych)?
Dzięki za radę.