Zajmuję się tworzeniem aplikacji php przy użyciuCodeIgniter. Planuję podzielić pojedynczą bazę danych MySQL na wiele baz danych SQLite. To jest, jedna baza danych (MySQL / PostgreSQL / SQLite), która obsługuje uwierzytelnianie i jedną bazę danych sqlite na użytkownika, który przechowuje informacje związane z użytkownikami. Nie używam żadnych złączeń i będzie mieć więcej odczytów niż zapisów.
Czy warto podzielić bazę danych nawiele baz danych sqlite dla szybkości? Czy będzie miał problem z skalowaniem do wielu serwerów? Mogę użyć przekierowania w zależności od użytkownika, aby wskazać właściwy serwer.
Edytować: Postanowiłem użyć MariaDB jako mojego serwera dla wszystkich użytkowników.
Odpowiedzi:
5 dla odpowiedzi № 1Dzieląc dane na wiele baz danych SQLite,zamiast prędkości, zyskasz poważny ból głowy i upływ czasu. Nie rób tego, chyba że wiesz, że musisz, i możesz to udowodnić twardymi liczbami, a nie hipotetycznymi scenariuszami.
Powyższe porady odnoszą się do systemu, którym jesteśbudynek ma pewną wartość (będzie wykorzystywany komercyjnie, itp.). Oczywiście, jeśli jest to tylko zabawkarski / szkoleniowy projekt, możesz robić to, co chcesz i uczyć się na nim.